Kako dostopati in spreminjati vrednosti Tensorja v PyTorchu?

Kako Dostopati In Spreminjati Vrednosti Tensorja V Pytorchu



PyTorch je ogrodje za globoko učenje, ki uporabnikom omogoča ustvarjanje/definiranje in manipuliranje s tenzorji. Tenzorji so večdimenzionalni nizi, ki lahko hranijo podatke/vrednosti različnih vrst in oblik. Vendar uporabniki včasih želijo dostopati do določene vsebine ali vrednosti želenega tenzorja in jih spremeniti. V tej situaciji lahko za izvedbo te operacije uporabijo različne metode.

Ta blog bo ponazoril metode za dostop in spreminjanje vrednosti tenzorjev v PyTorchu.

Kako dostopati in spreminjati vrednosti/vsebino Tensorja v PyTorchu?

Za pridobivanje in spreminjanje vrednosti tenzorjev v PyTorchu lahko uporabite dve metodi:







1. način: Dostopajte in spreminjajte vrednosti tenzorja z uporabo indeksiranja

Indeksiranje je način izbire določenega elementa ali obsega elementov iz določenega tenzorja glede na njihov položaj. Uporabniki morajo uporabiti oglate oklepaje ' [ ] ” za dostop do elementov vzdolž vsake dimenzije tenzorja. V primeru 2D tenzorja lahko do elementov dostopate v vrstici »i« in stolpcu »j« z uporabo »tenzorja [i,j]«. Če želite to narediti, sledite navedenim korakom:



1. korak: uvozite knjižnico PyTorch

Najprej uvozite » svetilka ' knjižnica:



uvoz svetilka

2. korak: Ustvarite tenzor

Nato uporabite » torch.tensor() ” za ustvarjanje želenega tenzorja in tiskanje njegovih elementov. Na primer, ustvarjamo 2D tenzor ' desetice1 ” z dimenzijami 2×3:





desetice1 = svetilka. tenzor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

tiskanje ( desetice1 )

To je ustvarilo 2D tenzor, kot je prikazano spodaj:



3. korak: Dostopajte do vrednosti Tensorja z uporabo indeksiranja

Zdaj dostopajte do želenih vrednosti tenzorja z njihovim indeksom. Na primer, določili smo indeks '[1][2]' za ' desetice1 « za dostop do njegove vrednosti in jo shrani v spremenljivko z imenom » temp_element ”. To bo dostopalo do vrednosti v drugi vrstici in tretjem stolpcu:

temp_element = desetice1 [ 1 ] [ 2 ]

tiskanje ( temp_element )

Tukaj: ' [1] ' pomeni drugo vrstico in ' [2] « pomeni tretji stolpec, ker se indeksiranje začne od » 0 ”.

Opazimo lahko, da je bila želena vrednost dosežena iz tenzorja, tj. '4':

4. korak: Spremenite vrednosti Tensorja z uporabo indeksiranja

Če želite spremeniti specifično vrednost tenzorja, določite indeks in dodelite novo vrednost. Tukaj zamenjamo vrednost ' [0][1] ' indeks z ' petnajst ”:

desetice1 [ 0 ] [ 1 ] = petnajst

tiskanje ( desetice1 )

Spodnji rezultat kaže, da je bila določena vrednost tenzorja uspešno spremenjena:

2. način: dostop do vrednosti tenzorja in njihovo spreminjanje z uporabo rezanja

Rezanje je način izbire podmnožice tenzorja z eno ali več dimenzijami. Uporabniki lahko z operatorjem dvopičja »:« določijo začetni in končni indeks rezine ter velikost koraka. Za boljše razumevanje si oglejte spodnje korake:

1. korak: uvozite knjižnico PyTorch

Najprej uvozite » svetilka ' knjižnica:

uvoz svetilka

2. korak: Ustvarite tenzor

Nato ustvarite želeni tenzor z uporabo ' torch.tensor() ” in natisnite njene elemente. Na primer, ustvarjamo 2D tenzor ' desetice2 ” z dimenzijami 2×3:

desetice2 = svetilka. tenzor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

tiskanje ( desetice2 )

To je ustvarilo 2D tenzor:

3. korak: Dostopajte do vrednosti Tensorja z uporabo rezanja

Zdaj dostopajte do želenih vrednosti tenzorja z rezanjem. Na primer, določili smo indekse “[1]” za “tens1” za dostop do njegovih vrednosti in njihovo shranjevanje v spremenljivko z imenom “ nove_vrednosti ”. To bo dostopalo do vseh vrednosti v drugi vrstici:

nove_vrednosti = desetice2 [ 1 ]

tiskanje ( 'Vrednosti druge vrstice: ' , nove_vrednosti )

V spodnjem izhodu je bil uspešen dostop do vseh vrednosti v drugi vrstici tenzorja:

Vzemimo še en primer, v katerem bomo dostopali do vrednosti tretjega stolpca tenzorja. Če želite to narediti, določite » [:, 2] ” indeksi:

nove_vrednosti2 = desetice2 [ : , 2 ]

tiskanje ( 'Vrednosti tretjega stolpca: ' , nove_vrednosti2 )

To je uspešno dostopalo in prikazalo vrednosti tretjega stolpca tenzorja:

4. korak: Spremenite vrednosti tenzorja z uporabo rezanja

Če želite spremeniti določene vrednosti tenzorja, določite indekse in dodelite novo vrednost. Tukaj spreminjamo vse vrednosti druge vrstice v tenzorju. Za to smo določili » [1] ” indeksira in dodeli nove vrednosti:

desetice2 [ 1 ] = svetilka. Tenzor ( [ 30 , 60 , 90 ] )

tiskanje ( 'Modificiran tenzor: ' , desetice2 )

Glede na spodnji rezultat so bile vse vrednosti vrednosti druge vrstice tenzorja uspešno spremenjene:

Razložili smo učinkovite metode za dostop in spreminjanje tenzorskih vrednosti v PyTorchu.

Opomba : Do našega zvezka Google Colab lahko dostopate tukaj povezava .

Zaključek

Če želite pridobiti in spremeniti vrednosti ali vsebino tenzorja v PyTorchu, najprej uvozite knjižnico »torch«. Nato ustvarite želeni tenzor. Nato uporabite metode indeksiranja ali rezanja za dostop in spreminjanje želenih vrednosti tenzorja. Za to določite indeks indeksov in prikažite dostopne in spremenjene vrednosti tenzorja. Ta blog je ponazoril metode za dostop in spreminjanje vrednosti tenzorjev v PyTorchu.