In deze blog ligt de nadruk op het verkrijgen van de gewichten van een modellaag in PyTorch.
Wat zijn de gewichten van een modellaag in PyTorch?
“ Gewichten ' En ' Vooroordelen ” zijn beide essentiële kenmerken van de neurale netwerkmodellen. Dit zijn beide leerbare parameters die regelmatig worden bijgewerkt tijdens de trainingslus bij elke voorwaartse doorgang van het model. Deze reguliere update is te danken aan een geïntegreerde optimizer zoals de Adam optimizer. Het doel van de neurale netwerkmodellen is om nauwkeurige voorspellingen te doen op basis van de invoergegevens. De gewichten en biases worden gebruikt om deze resultaten aan te passen om verlies te minimaliseren.
Hoe verkrijg ik de gewichten van een modellaag in PyTorch?
De ' gewichten ” van een laag worden opgeslagen in het Python-woordenboek en gebruiken de syntaxis “ state_dict() ”. Het woordenboek wordt gebruikt om de gewichten op te roepen met behulp van de onderstaande stappen:
Stap 1: Open de Colab IDE
Deze tutorial begint met de keuze van de IDE voor het project. Ga naar het Coöperatiecentrum website en begin een “ Nieuw notitieboekje ” om te beginnen werken:
Stap 2: Bibliotheken installeren en importeren
Na het instellen van het Colab-notebook: “ installeren ' En ' importeren ” de bibliotheken die alle benodigde functionaliteiten in het project dekken:
! pip installeer fakkelimporteren fakkel
importeren fakkelvisie. modellen
De bovenstaande code werkt als volgt:
- De ' Pip ” pakketinstallatieprogramma van Python wordt gebruikt om de essentiële “ fakkel ' bibliotheek.
- Vervolgens wordt de “ importeren ”-opdracht wordt gebruikt om het in het project te importeren.
- Als laatste wordt de “ fakkelvisie.modellen ”-pakket wordt ook geïmporteerd voor de extra functionaliteit van deep learning-modellen:
Stap 3: Importeer het ResNet-model
In deze zelfstudie wordt de “ ResNet50 Voor demonstratie wordt een neuraal netwerkmodel met 50 lagen in de Torchvision-bibliotheek gebruikt. Importeer het vooraf getrainde model zoals weergegeven:
voorbeeld_model = fakkelvisie. modellen . serieus50 ( voorgetraind = WAAR )
Stap 4: Definieer de modellaag
Definieer de naam van de modellaag en gebruik de “ state_dict() ”methode om de gewichten te verkrijgen zoals weergegeven:
voorbeeld_laag_naam = 'laag2.0.conv1'voorbeeld_laag_gewichten = voorbeeld_model. staat_dict ( ) [ voorbeeld_laag_naam + '.gewicht' ]
afdrukken ( 'Laaggewichten: \N ' , voorbeeld_laag_gewichten. vorm )
De bovenstaande code werkt als volgt:
- De tweede ingewikkelde laag van het ResNet50-model is toegewezen aan de “ voorbeeld_laag_naam Variabel.
- Dan de ' state_dict() ”-methode wordt gebruikt met de “ voorbeeld_model ”variabele en ze worden toegewezen aan de “ voorbeeld_laag_gewichten Variabel.
- De ' voorbeeld_laag_naam ' en de ' .gewicht ” worden toegevoegd als argumenten van de “ state_dict() methode om gewichten te verkrijgen.
- Gebruik ten slotte de “ afdrukken() ”-methode om de laaggewichten als uitvoer weer te geven:
De onderstaande uitvoer laat zien dat we de gewichten van de modellaag in Pytorch hebben verkregen:
Opmerking : U kunt hier toegang krijgen tot ons Colab Notebook koppeling .
Pro-tip
De gewichten van een modellaag binnen PyTorch tonen de voortgang van de trainingslus. Deze gewichten worden gebruikt om de groei van het model vast te stellen terwijl het de invoergegevens verwerkt in de uitvoerresultaten en voorspellingen. Het verkrijgen van de gewichten van een laag is belangrijk bij het beoordelen van de kwaliteit van de resultaten en om te controleren of er verbeteringen moeten worden aangebracht of niet.
Succes! We hebben gedemonstreerd hoe je de gewichten van een laag van een PyTorch-model kunt verkrijgen.
Conclusie
Verkrijg de gewichten van een modellaag in PyTorch met behulp van de “state_dict() ”-methode na het importeren van een model uit Torchvision of het gebruik van een aangepast model. De gewichten van een modellaag zijn de leerbare parameters die tijdens de training voortdurend worden bijgewerkt en de voortgang ervan catalogiseren. In dit artikel hebben we laten zien hoe u het ResNet50-model uit Torchvision kunt importeren en de gewichten van de tweede ingewikkelde laag kunt verkrijgen.