Hvordan få tilgang til og endre Tensors verdier i PyTorch?

Hvordan Fa Tilgang Til Og Endre Tensors Verdier I Pytorch



PyTorch er et rammeverk for dyp læring som gjør det mulig for brukere å lage/definere og manipulere tensorer. Tensorer er flerdimensjonale arrays som kan lagre data/verdier av forskjellige typer og former. Noen ganger vil imidlertid brukere ha tilgang til og endre det spesifikke innholdet eller verdiene til den ønskede tensoren. I denne situasjonen kan de bruke forskjellige metoder for å utføre denne operasjonen.

Denne bloggen vil illustrere metodene for å få tilgang til og endre verdiene til tensorer i PyTorch.

Hvordan få tilgang til og endre Tensors verdier/innhold i PyTorch?

For å få og endre verdiene til tensorer i PyTorch, kan to metoder brukes:







Metode 1: Få tilgang til og endre Tensors verdier ved hjelp av indeksering

Indeksering er en måte å velge et spesifikt element eller en rekke elementer fra en bestemt tensor på basert på deres posisjon. Brukere må bruke firkantede parenteser ' [ ] ” for å få tilgang til elementene langs hver dimensjon av tensoren. Når det gjelder en 2D-tensor, kan elementene nås på rad 'i' og kolonne 'j' ved å bruke 'tensor[i,j]'. For å gjøre det, følg de angitte trinnene:



Trinn 1: Importer PyTorch-biblioteket

Først importerer du ' lommelykt ' bibliotek:



import lommelykt

Trinn 2: Lag en tensor

Deretter bruker du ' torch.tensor() ”-funksjon for å lage en ønsket tensor og skrive ut elementene. For eksempel lager vi en 2D-tensor ' tiere 1 ” med dimensjoner 2×3:





tiere 1 = lommelykt. tensor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

skrive ut ( tiere 1 )

Dette har skapt 2D-tensoren som vist nedenfor:



Trinn 3: Få tilgang til Tensors verdier ved å bruke indeksering

Nå får du tilgang til de ønskede verdiene til tensoren etter deres indeks. For eksempel har vi spesifisert indeksen '[1][2]' for ' tiere 1 ' for å få tilgang til verdien og lagret den i en variabel kalt ' temp_element '. Dette vil få tilgang til verdien i den andre raden og den tredje kolonnen:

temp_element = tiere 1 [ 1 ] [ 2 ]

skrive ut ( temp_element )

Her: ' [1] ' betyr den andre raden og ' [2] ' betyr den tredje kolonnen fordi indeksering starter fra ' 0 '.

Det kan observeres at den ønskede verdien har blitt åpnet fra tensoren, dvs. '4':

Trinn 4: Endre Tensors verdier ved å bruke indeksering

For å endre den spesifikke verdien til tensoren, spesifiser indeksen og alloker den nye verdien. Her erstatter vi verdien av ' [0][1] 'indeks med ' femten ':

tiere 1 [ 0 ] [ 1 ] = femten

skrive ut ( tiere 1 )

Utdataene nedenfor viser at den spesifiserte verdien til tensoren har blitt modifisert:

Metode 2: Få tilgang til og modifiser Tensors verdier ved å bruke Slicing

Slicing er en måte å velge en delmengde av en tensor med én eller flere dimensjoner. Brukere kan bruke kolonoperatoren ':' for å spesifisere start- og sluttindeksene for snittet og trinnstørrelsen. Sjekk ut trinnene nedenfor for å forstå det bedre:

Trinn 1: Importer PyTorch-biblioteket

Først importerer du ' lommelykt ' bibliotek:

import lommelykt

Trinn 2: Lag en tensor

Deretter oppretter du en ønsket tensor ved å bruke ' torch.tensor() ”-funksjonen og skrive ut elementene. For eksempel lager vi en 2D-tensor ' titalls 2 ” med dimensjoner 2×3:

titalls 2 = lommelykt. tensor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

skrive ut ( titalls 2 )

Dette har laget en 2D-tensor:

Trinn 3: Få tilgang til Tensors verdier ved å bruke Slicing

Nå får du tilgang til de ønskede verdiene til tensoren ved hjelp av skjæring. For eksempel har vi spesifisert indeksene '[1]' til 'tens1' for å få tilgang til verdiene og lagre dem i en variabel kalt ' nye_verdier '. Dette vil få tilgang til alle verdiene i den andre raden:

nye_verdier = titalls 2 [ 1 ]

skrive ut ( 'Verdier for andre rad: ' , nye_verdier )

I utgangen nedenfor har alle verdiene som er tilstede i den andre raden av tensoren fått tilgang:

La oss ta et annet eksempel der vi får tilgang til verdien av den tredje kolonnen i tensoren. For å gjøre det, spesifiser ' [:, 2] ' indekser:

nye_verdier2 = titalls 2 [ : , 2 ]

skrive ut ( 'Tredje kolonneverdier: ' , nye_verdier2 )

Dette har fått tilgang til og vist verdiene til den tredje kolonnen i tensoren:

Trinn 4: Endre Tensors verdier ved å bruke skjæring

For å endre de spesifikke verdiene til tensoren, spesifiser indeksene og alloker den nye verdien. Her endrer vi alle verdiene til den andre raden i tensoren. For dette har vi spesifisert ' [1] ”-indekser og tilordne nye verdier:

titalls 2 [ 1 ] = lommelykt. Tensor ( [ 30 , 60 , 90 ] )

skrive ut ( 'Modifisert Tensor: ' , titalls 2 )

I henhold til utdataene nedenfor, er alle verdiene til den andre radens verdier for tensoren modifisert med suksess:

Vi har forklart de effektive metodene for å få tilgang til og endre tensorverdier i PyTorch.

Merk : Du kan få tilgang til Google Colab Notebook på denne link .

Konklusjon

For å få og endre tensorens verdier eller innhold i PyTorch, importer først 'fakkel'-biblioteket. Deretter oppretter du ønsket tensor. Deretter bruker du indekserings- eller skjæremetodene for å få tilgang til og endre tensorens ønskede verdier. For dette, spesifiser indeksen for henholdsvis indekser og vis de åpnede og modifiserte verdiene til tensoren. Denne bloggen har illustrert metodene for å få tilgang til og endre verdiene til tensorer i PyTorch.