Cum să obțineți greutățile unui strat de model în PyTorch?

Cum Sa Obtineti Greutatile Unui Strat De Model In Pytorch



Modelele de rețele neuronale create în cadrul PyTorch se bazează pe parametrii învățabili ai straturilor de model. Acestea „ greutăți ” sunt cheie în definirea procesării datelor de intrare pentru a produce rezultate în ieșire. Fiecare iterație a modelului actualizează ponderile existente pentru a îmbunătăți calitatea rezultatelor și pentru a oferi inferențe mai bune.

Î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.