Com obtenir els pesos d'una capa de model a PyTorch?

Com Obtenir Els Pesos D Una Capa De Model A Pytorch



Els models de xarxes neuronals creats al marc PyTorch es basen en els paràmetres aprendre de les capes del model. Aquests ' pesos ” són clau per definir el processament de les dades d'entrada per produir resultats en la sortida. Cada iteració del model actualitza els pesos existents per tal de millorar la qualitat de la sortida i proporcionar millors inferències.

En aquest bloc, el focus se centrarà en com obtenir els pesos d'una capa de model a PyTorch.

Quins són els pesos d'una capa de model a PyTorch?

Peses ' i ' Biaixos ” són totes dues característiques essencials dels models de xarxa neuronal. Aquests són tots dos paràmetres que s'aprenen que s'actualitzen regularment durant el bucle d'entrenament amb cada passada endavant del model. Aquesta actualització regular es deu a un optimitzador integrat com ara l'optimitzador Adam. L'objectiu dels models de xarxes neuronals és fer prediccions precises basades en les dades d'entrada i els pesos i els biaixos s'utilitzen per ajustar aquests resultats per minimitzar la pèrdua.







Com obtenir els pesos d'una capa de model a PyTorch?

El ' pesos ' d'una capa s'emmagatzemen al diccionari de Python i utilitzen la sintaxi ' state_dict() ”. El diccionari s'utilitza per cridar els pesos mitjançant els passos següents:



Pas 1: obriu l'IDE Colab

Aquest tutorial començarà amb l'elecció de l'IDE per al projecte. Aneu a la Col·laboració lloc web i comença un ' Nou quadern ” per començar a treballar:







Pas 2: instal·lar i importar biblioteques

Després de configurar el quadern Colab, ' instal·lar ' i ' importar ” les biblioteques que cobreixen totes les funcionalitats requerides en el projecte:

! pip instal·lar torxa

importar torxa

importar visió de torxa. models

El codi anterior funciona de la següent manera:



  • El ' pip ' L'instal·lador de paquets de Python s'utilitza per instal·lar l'essencial ' torxa ” biblioteca.
  • A continuació, el ' importar ” s'utilitza per importar-lo al projecte.
  • Finalment, el ' torchvision.models El paquet també s'importa per a la funcionalitat afegida dels models d'aprenentatge profund:

Pas 3: importa el model ResNet

En aquest tutorial, el ' ResNet50 Per a la demostració s'utilitza un model de xarxa neuronal amb 50 capes contingudes a la biblioteca de torchvision. Importeu el model pre-entrenat tal com es mostra:

model_de_mostra = visió de torxa. models . greu50 ( preformat = És cert )

Pas 4: definiu la capa del model

Definiu el nom de la capa del model i utilitzeu el ' state_dict() ” mètode per obtenir els seus pesos tal com es mostra:

nom_capa_mostra = 'capa2.0.conv1'

pesos_de_capa_de_mostra = model_de_mostra. state_dict ( ) [ nom_capa_mostra + '.pes' ]

imprimir ( 'Pesos de la capa: \n ' , pesos_de_capa_de_mostra. forma )

El codi anterior funciona de la següent manera:

  • La segona capa complicada del model ResNet50 s'assigna al ' nom_capa_mostra ” variable.
  • Aleshores el ' state_dict() El mètode s'utilitza amb el mètode model_de_mostra ” variable i s'assignen a la “ pesos_de_capa_de_mostra ” variable.
  • El ' nom_capa_mostra ' i la ' .pes ' s'afegeixen com a arguments de la ' state_dict() ” mètode per obtenir pesos.
  • Finalment, utilitzeu el ' imprimir() ” mètode per mostrar els pesos de la capa com a sortida:

La sortida següent mostra que hem obtingut els pesos de la capa del model a Pytorch:

Nota : Podeu accedir al nostre quadern Colab aquí enllaç .

Pro-Tip

Els pesos d'una capa de model dins de PyTorch mostren el progrés del bucle d'entrenament. Aquests pesos s'utilitzen per determinar el creixement del model mentre processa les dades d'entrada als resultats i prediccions de sortida. L'obtenció dels pesos d'una capa és important per avaluar la qualitat dels resultats i per comprovar si cal fer alguna millora o no.

Èxit! Hem demostrat com obtenir els pesos d'una capa d'un model PyTorch.

Conclusió

Obteniu els pesos d'una capa de model a PyTorch mitjançant el 'estat_dict() ” després d'importar un model de torchvision o utilitzar-ne un de personalitzat. Els pesos d'una capa de model són els paràmetres aprendre que s'actualitzen constantment durant l'entrenament i catalogen el seu progrés. En aquest article, hem mostrat com importar el model ResNet50 des de torchvision i obtenir els pesos de la seva segona capa complicada.