¿Cómo acceder y modificar los valores de Tensor en PyTorch?

Como Acceder Y Modificar Los Valores De Tensor En Pytorch



PyTorch es un marco de aprendizaje profundo que permite a los usuarios crear/definir y manipular tensores. Los tensores son matrices multidimensionales que pueden almacenar datos/valores de diversos tipos y formas. Sin embargo, a veces, los usuarios quieren acceder y modificar el contenido o los valores específicos del tensor deseado. En esta situación, pueden utilizar diferentes métodos para realizar esta operación.

Este blog ilustrará los métodos para acceder y modificar los valores de los tensores en PyTorch.

¿Cómo acceder y modificar los valores/contenido de Tensor en PyTorch?

Para obtener y modificar los valores de los tensores en PyTorch, se pueden utilizar dos métodos:







Método 1: acceder y modificar los valores del tensor mediante indexación

La indexación es una forma de seleccionar un elemento específico o una variedad de elementos de un tensor particular en función de su posición. Los usuarios deben utilizar corchetes ' [ ] ”para acceder a los elementos a lo largo de cada dimensión del tensor. En el caso de un tensor 2D, se puede acceder a los elementos en la fila 'i' y la columna 'j' usando 'tensor[i,j]'. Para hacerlo, siga los pasos proporcionados:



Paso 1: importar la biblioteca PyTorch

Primero, importe el ' antorcha ' biblioteca:



importar antorcha

Paso 2: crea un tensor

Luego, utilice el botón ' antorcha.tensor() ”Función para crear un tensor deseado e imprimir sus elementos. Por ejemplo, estamos creando un tensor 2D ' decenas1 ”con dimensiones 2×3:





decenas1 = antorcha. tensor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

imprimir ( decenas1 )

Esto ha creado el tensor 2D como se ve a continuación:



Paso 3: acceda a los valores de Tensor mediante indexación

Ahora, acceda a los valores deseados del tensor por su índice. Por ejemplo, hemos especificado el índice “[1][2]” del “ decenas1 ”para acceder a su valor y lo almacenó en una variable llamada “ elemento_temperatura ”. Esto accederá al valor presente en la segunda fila y tercera columna:

elemento_temperatura = decenas1 [ 1 ] [ 2 ]

imprimir ( elemento_temperatura )

Aquí: ' [1] ' significa la segunda fila y ' [2] 'significa la tercera columna porque la indexación comienza desde ' 0 ”.

Se puede observar que se ha accedido al valor deseado desde el tensor, es decir, “4”:

Paso 4: modificar los valores del tensor mediante indexación

Para modificar el valor específico del tensor, especifique el índice y asigne el nuevo valor. Aquí, estamos reemplazando el valor de ' [0][1] ” índice con “ 15 ”:

decenas1 [ 0 ] [ 1 ] = 15

imprimir ( decenas1 )

El siguiente resultado muestra que el valor especificado del tensor se ha modificado correctamente:

Método 2: acceder y modificar los valores del tensor mediante corte

Cortar es una forma de seleccionar un subconjunto de un tensor con una o más dimensiones. Los usuarios pueden utilizar el operador de dos puntos “:” para especificar los índices inicial y final del segmento y el tamaño del paso. Consulte los pasos que se proporcionan a continuación para comprenderlo mejor:

Paso 1: importar la biblioteca PyTorch

Primero, importe el ' antorcha ' biblioteca:

importar antorcha

Paso 2: crea un tensor

A continuación, cree el tensor deseado usando el botón ' antorcha.tensor() ”funciona e imprime sus elementos. Por ejemplo, estamos creando un tensor 2D ' decenas2 ”con dimensiones 2×3:

decenas2 = antorcha. tensor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

imprimir ( decenas2 )

Esto ha creado un tensor 2D:

Paso 3: acceda a los valores de Tensor mediante el corte

Ahora, acceda a los valores deseados del tensor usando el corte. Por ejemplo, hemos especificado los índices “[1]” de “decenas1” para acceder a sus valores y almacenarlos en una variable llamada “ nuevos_valores ”. Esto accederá a todos los valores presentes en la segunda fila:

nuevos_valores = decenas2 [ 1 ]

imprimir ( 'Valores de la segunda fila: ' , nuevos_valores )

En el siguiente resultado, se ha accedido correctamente a todos los valores presentes en la segunda fila del tensor:

Pongamos otro ejemplo en el que accederemos al valor de la tercera columna del tensor. Para hacerlo, especifique el ' [:, 2] ' índices:

nuevos_valores2 = decenas2 [ : , 2 ]

imprimir ( 'Valores de la tercera columna: ' , nuevos_valores2 )

Esto ha accedido y mostrado con éxito los valores de la tercera columna del tensor:

Paso 4: modificar los valores del tensor mediante corte

Para modificar los valores específicos del tensor, especifique los índices y asigne el nuevo valor. Aquí, estamos cambiando todos los valores de la segunda fila del tensor. Para ello hemos especificado el “ [1] ”índices y asignar nuevos valores:

decenas2 [ 1 ] = antorcha. Tensor ( [ 30 , 60 , 90 ] )

imprimir ( 'Tensor modificado:' , decenas2 )

Según el siguiente resultado, todos los valores de los valores del tensor de la segunda fila se han modificado correctamente:

Hemos explicado los métodos eficientes para acceder y modificar valores de tensor en PyTorch.

Nota : Puede acceder a nuestro Google Colab Notebook en este enlace .

Conclusión

Para obtener y modificar los valores o el contenido del tensor en PyTorch, primero importe la biblioteca 'antorcha'. Luego, crea el tensor deseado. A continuación, utilice los métodos de indexación o corte para acceder y modificar los valores deseados del tensor. Para ello, especifique el índice de índices respectivamente y muestre los valores accedidos y modificados del tensor. Este blog ha ilustrado los métodos para acceder y modificar los valores de los tensores en PyTorch.