Ebben a blogban a hangsúly azon lesz, hogyan szerezhető be egy modellréteg súlya a PyTorch-ban.
Mekkora a modellréteg súlya a PyTorch-ban?
' Súlyok ” és „ Elfogultságok ” mind a Neurális Hálózati modellek alapvető jellemzői. Mindkettő tanulható paraméter, amelyet rendszeresen frissítenek a betanítási ciklus során, a modell minden előrehaladásával. Ez a rendszeres frissítés egy olyan integrált optimalizálónak köszönhető, mint például az Adam optimalizáló. A neurális hálózati modellek célja, hogy pontos előrejelzéseket készítsenek a bemeneti adatok alapján, és a súlyok és torzítások segítségével módosítsák ezeket az eredményeket a veszteség minimalizálása érdekében.
Hogyan szerezhető meg egy modellréteg súlya a PyTorchban?
A ' súlyok ' egy rétegből a Python szótárban vannak tárolva, és a ' szintaxist használják state_dict() ”. A szótár a súlyok hívására szolgál az alábbi lépésekkel:
1. lépés: Nyissa meg a Colab IDE-t
Ez az oktatóanyag a projekt IDE-jének kiválasztásával kezdődik. Menj a Colaboratóriumba weboldal és indíts el egy ' Új Notebook ” a munka megkezdéséhez:
2. lépés: Telepítse és importálja a könyvtárakat
A Colab-jegyzetfüzet beállítása után „ telepítés ” és „ import ” a projektben szükséges összes funkciót lefedő könyvtárak:
! pip install zseblámpaimport fáklya
import fáklyalátás. modellek
A fenti kód a következőképpen működik:
- A ' csipog ” a python csomagtelepítője a lényeges „ fáklya ” könyvtár.
- Ezután a „ import ” paranccsal importálható a projektbe.
- Végül a „ fáklyalátás.modellek ” csomag is importálva van a mély tanulási modellek további funkcióihoz:
3. lépés: Importálja a ResNet modellt
Ebben az oktatóanyagban a „ ResNet50 ” a torchvision könyvtárban található 50 rétegű neurális hálózati modellt használjuk a demonstrációhoz. Importálja az előre betanított modellt az ábra szerint:
minta_modell = fáklyalátás. modellek . komoly50 ( előképzett = Igaz )
4. lépés: Határozza meg a modellréteget
Határozza meg a modellréteg nevét, és használja a „ state_dict() ” módszer a súlyok meghatározásához, az ábrán látható módon:
minta_réteg_neve = 'layer2.0.conv1'minta_réteg_súlyok = minta_modell. állam_dikt ( ) [ minta_réteg_neve + '.súly' ]
nyomtatás ( 'Rétegsúlyok: \n ' , minta_réteg_súlyok. alak )
A fenti kód a következőképpen működik:
- A ResNet50 modell második csavart rétege a „ minta_réteg_neve ” változó.
- Aztán a ' state_dict() ' módszert használják a ' minta_modell ” változót, és hozzá vannak rendelve a „ minta_réteg_súlyok ” változó.
- A ' minta_réteg_neve ' és a ' .súly ' argumentumaként adódnak hozzá a ' state_dict() ” módszerrel a súlyok megszerzése érdekében.
- Végül használja a „ nyomtatás() ” módszer a rétegsúlyok megjelenítéséhez kimenetként:
Az alábbi kimenet azt mutatja, hogy megkaptuk a modellréteg súlyát Pytorchban:
jegyzet : Colab-jegyzetfüzetünket ezen a címen érheti el link .
Profi tipp
A PyTorch-en belüli modellréteg súlyai a képzési ciklus előrehaladását mutatják be. Ezeket a súlyokat arra használják, hogy megállapítsák a modell növekedését, miközben a bemeneti adatokat a kimeneti eredményekké és előrejelzésekké dolgozza fel. Egy réteg súlyának megállapítása fontos az eredmények minőségének értékeléséhez, és annak ellenőrzéséhez, hogy szükség van-e javításra vagy sem.
Siker! Bemutattuk, hogyan kaphatjuk meg a PyTorch modell egy rétegének súlyát.
Következtetés
Szerezze meg a PyTorch modellréteg súlyát a 'state_dict() ” módszerrel, miután importált egy modellt a torchvision-ból vagy egy egyedit használ. A modellréteg súlyai a tanulható paraméterek, amelyek a képzés során folyamatosan frissülnek, és katalogizálják a folyamat előrehaladását. Ebben a cikkben megmutattuk, hogyan importálható a ResNet50 modell a torchvision-ból, és hogyan kaphatja meg a második csavart réteg súlyát.