Hogyan lehet elérni és módosítani a Tensor értékeit a PyTorch-ban?

Hogyan Lehet Elerni Es Modositani A Tensor Ertekeit A Pytorch Ban



PyTorch egy mély tanulási keretrendszer, amely lehetővé teszi a felhasználók számára tenzorok létrehozását/definiálását és manipulálását. A tenzorok többdimenziós tömbök, amelyek különféle típusú és alakú adatokat/értékeket tárolhatnak. Néha azonban a felhasználók hozzá akarnak férni és módosítani szeretnék a kívánt tenzor konkrét tartalmát vagy értékeit. Ebben a helyzetben különböző módszereket használhatnak a művelet végrehajtására.

Ez a blog bemutatja a PyTorch tenzorértékeinek elérésének és módosításának módszereit.

Hogyan lehet elérni és módosítani a Tensor értékeit/tartalmát a PyTorch-ban?

A PyTorch tenzorértékeinek lekéréséhez és módosításához két módszer használható:







1. módszer: A tenzorértékek elérése és módosítása indexeléssel

Az indexelés egy adott elem vagy elemtartomány kiválasztásának módja egy adott tenzorból a helyzetük alapján. A felhasználóknak szögletes zárójeleket kell használniuk ' [ ] ” a tenzor egyes dimenziói mentén lévő elemek eléréséhez. 2D tenzor esetén az „i” sorban és a „j” oszlopban található elemek a „tenzor[i,j]” használatával érhetők el. Ehhez kövesse a megadott lépéseket:



1. lépés: Importálja a PyTorch Library-t

Először importálja a „ fáklya ” könyvtár:



import fáklya

2. lépés: Hozzon létre egy tenzort

Ezután használja a „ torch.tensor() ” funkció segítségével létrehozhat egy kívánt tenzort és kinyomtathatja annak elemeit. Például létrehozunk egy 2D tenzort ' tízes1 ” 2×3 mérettel:





tízes1 = fáklya. tenzor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

nyomtatás ( tízes1 )

Ez létrehozta a 2D tenzort, az alábbiak szerint:



3. lépés: A Tensor értékeinek elérése indexelés segítségével

Most érje el a tenzor kívánt értékeit az indexük alapján. Például megadtuk a „[1][2]” indexet a „ tízes1 ', hogy hozzáférjen az értékéhez, és egy ' nevű változóban tárolja' temp_element ”. Ezzel eléri a második sorban és a harmadik oszlopban lévő értéket:

temp_element = tízes1 [ 1 ] [ 2 ]

nyomtatás ( temp_element )

Itt: ' [1] ' a második sort jelenti és a ' [2] ' a harmadik oszlopot jelenti, mert az indexelés a következővel kezdődik: ' 0 ”.

Megfigyelhető, hogy a kívánt értéket a tenzorból, azaz a „4”-ből érte el:

4. lépés: Módosítsa a tenzor értékeit indexeléssel

A tenzor adott értékének módosításához adja meg az indexet, és rendelje hozzá az új értéket. Itt lecseréljük a „ [0][1] ' index a következővel: ' tizenöt ”:

tízes1 [ 0 ] [ 1 ] = tizenöt

nyomtatás ( tízes1 )

Az alábbi kimenet azt mutatja, hogy a tenzor megadott értéke sikeresen módosult:

2. módszer: A tenzorértékek elérése és módosítása szeleteléssel

A szeletelés a tenzor egy vagy több dimenziójú részhalmazának kiválasztásának módja. A felhasználók a „:” kettőspont operátort használhatják a szelet kezdő és záró indexének, valamint a lépés méretének megadásához. Tekintse meg az alábbi lépéseket, hogy jobban megértse:

1. lépés: Importálja a PyTorch Library-t

Először importálja a „ fáklya ” könyvtár:

import fáklya

2. lépés: Hozzon létre egy tenzort

Ezután hozza létre a kívánt tenzort a „ torch.tensor() ” funkciót, és kinyomtatja annak elemeit. Például létrehozunk egy 2D tenzort ' tízes2 ” 2×3 mérettel:

tízes2 = fáklya. tenzor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

nyomtatás ( tízes2 )

Ezzel létrejött egy 2D tenzor:

3. lépés: A Tensor értékeinek elérése szeletelés segítségével

Most a szeletelés segítségével érje el a tenzor kívánt értékeit. Például megadtuk a „tens1” „[1]” indexét, hogy elérjük az értékeket, és tároljuk azokat egy „ nevű változóban új_értékek ”. Ezzel hozzáfér a második sorban lévő összes értékhez:

új_értékek = tízes2 [ 1 ]

nyomtatás ( 'Második sor értékei: ' , új_értékek )

Az alábbi kimenetben a tenzor második sorában lévő összes érték elérése sikeresen megtörtént:

Vegyünk egy másik példát, amelyben elérjük a tenzor harmadik oszlopának értékét. Ehhez adja meg a „ [:, 2] ” indexek:

új_értékek2 = tízes2 [ : , 2 ]

nyomtatás ( 'A harmadik oszlop értékei: ' , új_értékek2 )

Ezzel sikeresen elérte és megjelenítette a tenzor harmadik oszlopának értékeit:

4. lépés: Módosítsa a tenzor értékeit a szeletelés segítségével

A tenzor meghatározott értékeinek módosításához adja meg az indexeket, és rendelje hozzá az új értéket. Itt megváltoztatjuk a tenzor második sorának összes értékét. Ehhez megadtuk a „ [1] ” indexeket, és új értékeket rendeljen hozzá:

tízes2 [ 1 ] = fáklya. Tenzor ( [ 30 , 60 , 90 ] )

nyomtatás ( 'Módosított tenzor: ' , tízes2 )

Az alábbi kimenet szerint a tenzor második sorának értékeinek összes értéke sikeresen módosult:

Elmagyaráztuk a PyTorch tenzorértékeinek elérésének és módosításának hatékony módszereit.

jegyzet : Google Colab jegyzetfüzetünket ezen a címen érheti el link .

Következtetés

A tenzor értékeinek vagy tartalmának beszerzéséhez és módosításához a PyTorch alkalmazásban először importálja a „torch” könyvtárat. Ezután hozza létre a kívánt tenzort. Ezután használja az indexelési vagy szeletelési módszereket a tenzor kívánt értékeinek eléréséhez és módosításához. Ehhez adja meg az indexek indexét, és jelenítse meg a tenzor elért és módosított értékeit. Ez a blog bemutatja a PyTorch tenzorok értékeinek elérésének és módosításának módszereit.