Come accedere e modificare i valori del tensore in PyTorch?

Come Accedere E Modificare I Valori Del Tensore In Pytorch



PyTorch è un framework di deep learning che consente agli utenti di creare/definire e manipolare tensori. I tensori sono array multidimensionali che possono memorizzare dati/valori di diversi tipi e forme. Tuttavia, a volte, gli utenti desiderano accedere e modificare il contenuto o i valori specifici del tensore desiderato. In questa situazione, possono utilizzare diversi metodi per eseguire questa operazione.

Questo blog illustrerà i metodi per accedere e modificare i valori dei tensori in PyTorch.

Come accedere e modificare i valori/contenuti del tensore in PyTorch?

Per ottenere e modificare i valori dei tensori in PyTorch, è possibile utilizzare due metodi:







Metodo 1: accedere e modificare i valori del tensore utilizzando l'indicizzazione

L'indicizzazione è un modo per selezionare un elemento specifico o una gamma di elementi da un particolare tensore in base alla loro posizione. Gli utenti devono utilizzare parentesi quadre “ [] ” per accedere agli elementi lungo ciascuna dimensione del tensore. Nel caso di un tensore 2D, è possibile accedere agli elementi nella riga 'i' e nella colonna 'j' utilizzando 'tensore[i,j]'. Per fare ciò, seguire i passaggi forniti:



Passaggio 1: importa la libreria PyTorch

Innanzitutto, importa il ' torcia ' biblioteca:



importare torcia

Passaggio 2: creare un tensore

Quindi, utilizzare il ' torcia.tensore() ” per creare il tensore desiderato e stamparne gli elementi. Ad esempio, stiamo creando un tensore 2D “ decine1 ” con dimensioni 2×3:





decine1 = torcia. tensore ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

stampa ( decine1 )

Questo ha creato il tensore 2D come mostrato di seguito:



Passaggio 3: accedere ai valori del tensore utilizzando l'indicizzazione

Ora accedi ai valori desiderati del tensore tramite il loro indice. Ad esempio, abbiamo specificato l'indice “[1][2]” del “ decine1 ' per accedere al suo valore e memorizzarlo in una variabile denominata ' elemento_temp ”. Ciò accederà al valore presente nella seconda riga e nella terza colonna:

elemento_temp = decine1 [ 1 ] [ 2 ]

stampa ( elemento_temp )

Qui: ' [1] ' indica la seconda riga e ' [2] ' indica la terza colonna perché l'indicizzazione inizia da ' 0 ”.

Si può osservare che si è avuto accesso al valore desiderato dal tensore, ovvero “4”:

Passaggio 4: modifica i valori del tensore utilizzando l'indicizzazione

Per modificare il valore specifico del tensore, specificare l'indice e assegnare il nuovo valore. Qui stiamo sostituendo il valore di “ [0] [1] ' indice con ' quindici ':

decine1 [ 0 ] [ 1 ] = quindici

stampa ( decine1 )

L'output seguente mostra che il valore specificato del tensore è stato modificato con successo:

Metodo 2: accedi e modifica i valori del tensore utilizzando lo slicing

L'affettamento è un modo per selezionare un sottoinsieme di un tensore con una o più dimensioni. Gli utenti possono utilizzare l'operatore due punti ':' per specificare gli indici di inizio e fine della sezione e la dimensione del passo. Controlla i passaggi forniti di seguito per capirlo meglio:

Passaggio 1: importa la libreria PyTorch

Innanzitutto, importa il ' torcia ' biblioteca:

importare torcia

Passaggio 2: creare un tensore

Successivamente, crea il tensore desiderato utilizzando il comando ' torcia.tensore() 'funziona e stampa i suoi elementi. Ad esempio, stiamo creando un tensore 2D “ decine2 ” con dimensioni 2×3:

decine2 = torcia. tensore ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

stampa ( decine2 )

Questo ha creato un tensore 2D:

Passaggio 3: accedi ai valori del tensore utilizzando lo slicing

Ora accedi ai valori desiderati del tensore utilizzando lo slicing. Ad esempio, abbiamo specificato gli indici “[1]” di “decine1” per accedere ai suoi valori e memorizzarli in una variabile denominata “ nuovi_valori ”. Questo accederà a tutti i valori presenti nella seconda riga:

nuovi_valori = decine2 [ 1 ]

stampa ( 'Valori della seconda riga: ' , nuovi_valori )

Nell'output seguente, è stato effettuato l'accesso con successo a tutti i valori presenti nella seconda riga del tensore:

Prendiamo un altro esempio in cui accederemo al valore della terza colonna del tensore. Per fare ciò, specificare il ' [:, 2] ' indici:

nuovi_valori2 = decine2 [ : , 2 ]

stampa ( 'Valori della terza colonna: ' , nuovi_valori2 )

Questo ha avuto accesso e visualizzato con successo i valori della terza colonna del tensore:

Passaggio 4: modifica i valori del tensore utilizzando l'affettatura

Per modificare i valori specifici del tensore, specificare gli indici e assegnare il nuovo valore. Qui stiamo cambiando tutti i valori della seconda riga nel tensore. Per questo abbiamo specificato il “ [1] ” indici e assegna nuovi valori:

decine2 [ 1 ] = torcia. Tensore ( [ 30 , 60 , 90 ] )

stampa ( 'Tensore modificato:' , decine2 )

Secondo l'output seguente, tutti i valori dei valori del tensore della seconda riga sono stati modificati con successo:

Abbiamo spiegato i metodi efficienti per accedere e modificare i valori dei tensori in PyTorch.

Nota : puoi accedere al nostro Google Colab Notebook da qui collegamento .

Conclusione

Per ottenere e modificare i valori o il contenuto del tensore in PyTorch, importa innanzitutto la libreria 'torch'. Quindi, crea il tensore desiderato. Successivamente, utilizza i metodi di indicizzazione o affettamento per accedere e modificare i valori desiderati del tensore. Per questo, specificare rispettivamente l'indice degli indici e visualizzare i valori accessibili e modificati del tensore. Questo blog ha illustrato i metodi per accedere e modificare i valori dei tensori in PyTorch.