Hvordan få vektene til et modelllag i PyTorch?

Hvordan Fa Vektene Til Et Modelllag I Pytorch



De nevrale nettverksmodellene som er opprettet i PyTorch-rammeverket er basert på de lærbare parameterne til modelllagene. disse ' vekter ” er nøkkelen til å definere behandlingen av datainndataene for å produsere resultater i utdataene. Hver iterasjon av modellen oppdaterer de eksisterende vektene for å forbedre kvaliteten på resultatet og gi bedre slutninger.

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 lommelykt

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