I denne bloggen vil fokuset være på hvordan man får frem vektene til et modelllag i PyTorch.
Hva er vekten til et modelllag i PyTorch?
' Vekter ' og ' skjevheter ” er begge essensielle funksjoner i de nevrale nettverksmodellene. Dette er begge parametere som kan læres og oppdateres jevnlig i løpet av treningssløyfen med hver foroverpassering av modellen. Denne vanlige oppdateringen skyldes en integrert optimizer som Adam optimizer. Målet med de nevrale nettverksmodellene er å lage nøyaktige spådommer basert på inndataene, og vektene og skjevhetene brukes til å justere disse resultatene for å minimere tap.
Hvordan få vektene til et modelllag i PyTorch?
« vekter ' av et lag lagres i Python-ordboken og bruker syntaksen ' state_dict() '. Ordboken brukes til å kalle vektene ved å bruke trinnene nedenfor:
Trinn 1: Åpne Colab IDE
Denne opplæringen begynner med valget av IDE for prosjektet. Gå til kollaboratoriet nettsted og start en ' Ny notatbok for å begynne å jobbe:
Trinn 2: Installer og importer biblioteker
Etter å ha satt opp Colab-notisboken, ' installere ' og ' import ” bibliotekene som dekker alle nødvendige funksjoner i prosjektet:
! pip installer lommelyktimport lommelykt
import fakkelsyn. modeller
Koden ovenfor fungerer som følger:
- « pip 'pakkeinstallasjonsprogram fra python brukes til å installere det essensielle ' lommelykt ' bibliotek.
- Deretter ' import kommandoen brukes til å importere den til prosjektet.
- Til slutt, ' torchvision.modeller ”-pakken er også importert for den ekstra funksjonaliteten til dyplæringsmodeller:
Trinn 3: Importer ResNet-modell
I denne opplæringen, ' ResNet50 ” neural nettverksmodell med 50 lag inneholdt i torchvision-biblioteket brukes til demonstrasjon. Importer den ferdigtrente modellen som vist:
sample_model = fakkelsyn. modeller . alvorlig50 ( forhåndstrent = ekte )
Trinn 4: Definer modelllaget
Definer modelllagets navn og bruk ' state_dict() ” metode for å få vektene som vist:
sample_layer_name = 'layer2.0.conv1'sample_layer_weights = sample_model. state_dict ( ) [ sample_layer_name + '.vekt' ]
skrive ut ( 'Lagvekter: \n ' , sample_layer_weights. form )
Koden ovenfor fungerer som følger:
- Det andre kronglete laget av ResNet50-modellen er tildelt ' sample_layer_name variabel.
- Og så ' state_dict() '-metoden brukes med ' sample_model variabel og de tilordnes til ' sample_layer_weights variabel.
- « sample_layer_name ' og ' .vekt ' legges til som argumenter for ' state_dict() ” metode for å få vekter.
- Til slutt bruker du ' skrive ut() ”-metoden for å vise frem lagvektene som utdata:
Utdataene nedenfor viser at vi har oppnådd vektene til modelllaget i Pytorch:
Merk : Du kan få tilgang til Colab Notebook her link .
Pro-Tips
Vektene til et modelllag i PyTorch viser fremdriften til treningsløkken. Disse vektene brukes til å fastslå veksten av modellen når den behandler inngangsdataene til utdataene og forutsigelsene. Innhenting av vektene til et lag er viktig for å vurdere kvaliteten på resultatene og for å sjekke om det skal gjøres forbedringer eller ikke.
Suksess! Vi har demonstrert hvordan man oppnår vektene til et lag av en PyTorch-modell.
Konklusjon
Skaff vekten til et modelllag i PyTorch ved å bruke 'state_dict() ”-metoden etter å ha importert en modell fra torchvision eller brukt en egendefinert. Vektene til et modelllag er de parametrene som kan læres, som kontinuerlig oppdateres under trening og katalogiserer fremgangen. I denne artikkelen har vi vist hvordan du importerer ResNet50-modellen fra torchvision og får vektene til det andre kronglete laget.