Com accedir i modificar els valors de Tensor a PyTorch?

Com Accedir I Modificar Els Valors De Tensor A Pytorch



PyTorch és un marc d'aprenentatge profund que permet als usuaris crear/definir i manipular tensors. Els tensors són matrius multidimensionals que poden emmagatzemar dades/valors de diversos tipus i formes. Tanmateix, de vegades, els usuaris volen accedir i modificar el contingut o els valors específics del tensor desitjat. En aquesta situació, poden utilitzar diferents mètodes per realitzar aquesta operació.

Aquest bloc il·lustrarà els mètodes per accedir i modificar els valors dels tensors a PyTorch.

Com accedir i modificar els valors/contingut de Tensor a PyTorch?

Per obtenir i modificar els valors dels tensors a PyTorch, es poden utilitzar dos mètodes:







Mètode 1: Accediu i modifiqueu els valors del tensor mitjançant la indexació

La indexació és una manera de seleccionar un element específic o un rang d'elements d'un tensor determinat en funció de la seva posició. Els usuaris han d'utilitzar claudàtors ' [ ] ” per accedir als elements al llarg de cada dimensió del tensor. En el cas d'un tensor 2D, es pot accedir als elements a la fila 'i' i la columna 'j' mitjançant 'tensor[i,j]'. Per fer-ho, seguiu els passos indicats:



Pas 1: importa la biblioteca PyTorch

Primer, importeu el ' torxa ” biblioteca:



importar torxa

Pas 2: creeu un tensor

A continuació, utilitzeu el ' torch.tensor() ” funció per crear un tensor desitjat i imprimir els seus elements. Per exemple, estem creant un tensor 2D ' desenes 1 ” amb mides 2×3:





desenes 1 = torxa. tensor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

imprimir ( desenes 1 )

Això ha creat el tensor 2D tal com es veu a continuació:



Pas 3: accediu als valors de Tensor mitjançant la indexació

Ara, accediu als valors desitjats del tensor pel seu índex. Per exemple, hem especificat l'índex “[1][2]” de la “ desenes 1 ” per accedir al seu valor i emmagatzemar-lo en una variable anomenada “ element_temp ”. Això accedirà al valor present a la segona fila i la tercera columna:

element_temp = desenes 1 [ 1 ] [ 2 ]

imprimir ( element_temp )

Aquí: ' [1] ' significa la segona fila i ' [2] ” significa la tercera columna perquè la indexació comença des de “ 0 ”.

Es pot observar que s'ha accedit al valor desitjat des del tensor, és a dir, '4':

Pas 4: modifiqueu els valors del tensor mitjançant la indexació

Per modificar el valor específic del tensor, especifiqueu l'índex i assigneu el nou valor. Aquí, estem substituint el valor de ' [0][1] ” índex amb “ 15 ”:

desenes 1 [ 0 ] [ 1 ] = 15

imprimir ( desenes 1 )

La sortida següent mostra que el valor especificat del tensor s'ha modificat correctament:

Mètode 2: Accediu i modifiqueu els valors del tensor mitjançant el tall

El tall és una manera de seleccionar un subconjunt d'un tensor amb una o més dimensions. Els usuaris poden utilitzar l'operador de dos punts ':' per especificar els índexs inicials i finals de la porció i la mida del pas. Consulteu els passos que s'indiquen a continuació per entendre-ho millor:

Pas 1: importa la biblioteca PyTorch

Primer, importeu el ' torxa ” biblioteca:

importar torxa

Pas 2: creeu un tensor

A continuació, creeu un tensor desitjat utilitzant el ' torch.tensor() ” funcionen i imprimeixen els seus elements. Per exemple, estem creant un tensor 2D ' desenes2 ” amb mides 2×3:

desenes2 = torxa. tensor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

imprimir ( desenes2 )

Això ha creat un tensor 2D:

Pas 3: accediu als valors de Tensor mitjançant Slicing

Ara, accediu als valors desitjats del tensor mitjançant el tall. Per exemple, hem especificat els índexs “[1]” de les “tenes1” per accedir als seus valors i emmagatzemar-los en una variable anomenada “ nous_valors ”. Això accedirà a tots els valors presents a la segona fila:

nous_valors = desenes2 [ 1 ]

imprimir ( 'Valors de la segona fila:' , nous_valors )

A la sortida següent, s'ha accedit correctament a tots els valors presents a la segona fila del tensor:

Prenguem un altre exemple en què accedirem al valor de la tercera columna del tensor. Per fer-ho, especifiqueu el ' [:, 2] ”índexs:

nous_valors2 = desenes2 [ : , 2 ]

imprimir ( 'Valors de la tercera columna:' , nous_valors2 )

S'ha accedit correctament i ha mostrat els valors de la tercera columna del tensor:

Pas 4: modifiqueu els valors del tensor mitjançant el tall

Per modificar els valors específics del tensor, especifiqueu els índexs i assigneu el nou valor. Aquí, estem canviant tots els valors de la segona fila del tensor. Per a això, hem especificat el “ [1] ” índexs i assignar nous valors:

desenes2 [ 1 ] = torxa. Tensor ( [ 30 , 60 , 90 ] )

imprimir ( 'Tensor modificat:' , desenes2 )

Segons la sortida següent, tots els valors dels valors de la segona fila del tensor s'han modificat correctament:

Hem explicat els mètodes eficients per accedir i modificar els valors del tensor a PyTorch.

Nota : Podeu accedir al nostre quadern Google Colab aquí enllaç .

Conclusió

Per obtenir i modificar els valors o el contingut del tensor a PyTorch, primer, importeu la biblioteca 'torch'. A continuació, creeu el tensor desitjat. A continuació, utilitzeu els mètodes d'indexació o tall per accedir i modificar els valors desitjats del tensor. Per a això, especifiqueu l'índex dels índexs respectivament i visualitzeu els valors accedits i modificats del tensor. Aquest bloc ha il·lustrat els mètodes per accedir i modificar els valors dels tensors a PyTorch.