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