În acest blog, accentul se va pune pe modul de obținere a greutăților unui strat de model în PyTorch.
Care sunt greutățile unui strat de model în PyTorch?
„ Greutăți ' și ' Prejudecăți ” sunt ambele caracteristici esențiale ale modelelor de rețele neuronale. Aceștia sunt ambii parametri de învățare care sunt actualizați în mod regulat în timpul buclei de antrenament cu fiecare trecere înainte a modelului. Această actualizare regulată se datorează unui optimizator integrat, cum ar fi optimizatorul Adam. Obiectivul modelelor de rețele neuronale este de a face predicții precise pe baza datelor de intrare, iar ponderile și părtinirile sunt utilizate pentru a ajusta aceste rezultate pentru a minimiza pierderile.
Cum să obțineți greutățile unui strat de model în PyTorch?
„ greutăți ” ale unui strat sunt stocate în dicționarul Python și folosesc sintaxa ” stat_dict() ”. Dicționarul este folosit pentru a apela ponderile utilizând pașii de mai jos:
Pasul 1: Deschideți IDE-ul Colab
Acest tutorial va începe cu alegerea IDE-ului pentru proiect. Mergi la Colaborator site-ul web și începe un „ Notebook nou ” pentru a începe lucrul:
Pasul 2: Instalați și importați biblioteci
După configurarea notebook-ului Colab, „ instalare ' și ' import ” bibliotecile care acoperă toate funcționalitățile necesare în proiect:
! pip install lanternăimport torță
import viziunea cu torță. modele
Codul de mai sus funcționează după cum urmează:
- „ pip ” Programul de instalare a pachetelor din python este folosit pentru a instala esențialul ” torță ” bibliotecă.
- În continuare, „ import ” este folosită pentru a o importa în proiect.
- În cele din urmă, „ torță viziune.modele Pachetul este importat și pentru funcționalitatea adăugată a modelelor de învățare profundă:
Pasul 3: importați modelul ResNet
În acest tutorial, „ ResNet50 Pentru demonstrație este folosit modelul rețelei neuronale cu 50 de straturi conținute în biblioteca torchvision. Importați modelul pre-antrenat după cum se arată:
model_eșantion = viziunea cu torță. modele . serios50 ( preantrenat = Adevărat )
Pasul 4: Definiți stratul de model
Definiți numele stratului modelului și utilizați „ stat_dict() ” metoda pentru a-și obține greutățile așa cum se arată:
sample_layer_name = „layer2.0.conv1”eșantion_layer_greutăți = model_eșantion. state_dict ( ) [ sample_layer_name + '.greutate' ]
imprimare ( „Greutățile stratului: \n ' , eșantion_layer_greutăți. formă )
Codul de mai sus funcționează după cum urmează:
- Al doilea strat complicat al modelului ResNet50 este atribuit „ sample_layer_name ' variabil.
- Apoi, „ stat_dict() „Metoda” este folosită cu „ model_eșantion ” variabilă și sunt alocate variabilei „ eșantion_layer_greutăți ' variabil.
- „ sample_layer_name ' si ' .greutate ” sunt adăugate ca argumente ale „ stat_dict() ” metoda pentru a obține greutăți.
- În cele din urmă, folosiți „ imprimare() ” pentru a prezenta Greutățile Stratului ca rezultat:
Rezultatul de mai jos arată că am obținut greutățile stratului de model în Pytorch:
Notă : Puteți accesa caietul nostru Colab aici legătură .
Pro-Tip
Greutățile unui strat de model din PyTorch arată progresul buclei de antrenament. Aceste ponderi sunt utilizate pentru a determina creșterea modelului pe măsură ce procesează datele de intrare în rezultatele și predicțiile de ieșire. Obținerea greutăților unui strat este importantă în evaluarea calității rezultatelor și pentru a verifica dacă trebuie făcute sau nu îmbunătățiri.
Succes! Am demonstrat cum se obține greutățile unui strat al unui model PyTorch.
Concluzie
Obțineți greutățile unui strat de model în PyTorch folosind „state_dict() ” după importarea unui model din torchvision sau folosirea unuia personalizat. Greutățile unui strat de model sunt parametrii învățați care sunt actualizați constant în timpul antrenamentului și catalogează progresul acestuia. În acest articol, am arătat cum să importam modelul ResNet50 de la torchvision și să obținem greutățile celui de-al doilea strat complicat.