Operaciones de tensor en PyTorch

En este artículo, discutiremos las operaciones de tensor en PyTorch.

PyTorch es un paquete científico utilizado para realizar operaciones en los datos dados como tensor en python. Un tensor es una colección de datos como una array numpy. Podemos crear un tensor usando la función tensor:

Sintaxis : torch.tensor([[[elemento1,elemento2,.,elemento n],……,[elemento1,elemento2,.,elemento n]]])

dónde,

  • la antorcha es el modulo
  • tensor es la función
  • los elementos son los datos

Las operaciones en PyTorch que se aplican en el tensor son:

expandir()

Esta operación se usa para expandir el tensor en una cantidad de tensores, una cantidad de filas en tensores y una cantidad de columnas en tensores.

Sintaxis : tensor.expand(n,r,c)

dónde,

  • tensor es el tensor de entrada
  • n es devolver el número de tensores
  • r es el número de filas en cada tensor
  • c es el número de columnas en cada tensor

Ejemplo: En este ejemplo, expandiremos el tensor en 4 tensores, 2 filas y 3 columnas en cada tensor

Python3

# import module
import torch
  
# create a tensor with 2 data
# in 3 three elements each
data = torch.tensor([[10, 20, 30], 
                     [45, 67, 89]])
  
# display
print(data)
  
# expand the tensor into 4 tensors , 2
# rows and 3 columns in each tensor
print(data.expand(4, 2, 3))

Producción:

tensor([[10, 20, 30],
        [45, 67, 89]])
tensor([[[10, 20, 30],
         [45, 67, 89]],

        [[10, 20, 30],
         [45, 67, 89]],

        [[10, 20, 30],
         [45, 67, 89]],

        [[10, 20, 30],
         [45, 67, 89]]])

permutar()

Esto se usa para reordenar el tensor usando fila y columna

Sintaxis : tensor.permute(a,b,c)

dónde

  • tensor es el tensor de entrada
  • permute(1,2,0) se usa para permutar el tensor por fila
  • permute(2,1,0) se usa para permutar el tensor por columna

Ejemplo: En este ejemplo vamos a permutar el tensor primero por fila y por columna.

Python3

# import module
import torch
  
# create a tensor with 2 data
# in 3 three elements each
data = torch.tensor([[[10, 20, 30], 
                      [45, 67, 89]]])
  
# display
print(data)
  
# permute the tensor first by row
print(data.permute(1, 2, 0))
  
# permute the tensor first by column
print(data.permute(2, 1, 0))

Producción:

tensor([[[10, 20, 30],
         [45, 67, 89]]])
tensor([[[10],
         [20],
         [30]],

        [[45],
         [67],
         [89]]])
tensor([[[10],
         [45]],

        [[20],
         [67]],

        [[30],
         [89]]])

Listar()

Este método se usa para devolver una lista o una lista anidada del tensor dado.

Sintaxis : tensor.tolist()

Ejemplo : en este ejemplo, vamos a convertir el tensor dado en la lista.

Python3

# import module
import torch
  
# create a tensor with 2 data in
# 3 three elements each
data = torch.tensor([[[10, 20, 30], 
                      [45, 67, 89]]])
  
# display
print(data)
  
# convert the tensor to list
print(data.tolist())

Producción:

tensor([[[10, 20, 30],
         [45, 67, 89]]])
[[[10, 20, 30], [45, 67, 89]]]

angosto()

Esta función se utiliza para estrechar el tensor. en otras palabras, extenderá el tensor en función de las dimensiones de entrada.

Sintaxis : torch.narrow(tensor,d,i,l)

dónde,

  • tensor es el tensor de entrada
  • d es la dimensión a estrechar
  • i es el índice inicial del vector
  • l es la longitud del nuevo tensor a lo largo de la dimensión – d

Ejemplo: En este ejemplo, estrecharemos el tensor con 1 dimensión que comienza desde el 1.er índice y la longitud de cada dimensión es 2 y estrecharemos el tensor con 1 dimensión que comienza desde el 0.º índice y la longitud de cada dimensión es 2

Python3

# import module
import torch
  
# create a tensor with 2 data in
# 3 three elements each
data = torch.tensor([[10, 20, 30], 
                     [45, 67, 89], 
                     [23, 45, 67]])
  
# display
print(data)
  
# narrow the tensor
# with 1 dimension
# starting from 1 st index
# length of each dimension is 2
print(torch.narrow(data, 1, 1, 2))
  
# narrow the tensor
# with 1 dimension
# starting from 0 th  index
# length of each dimension is 2
print(torch.narrow(data, 1, 0, 2))

Producción:

tensor([[10, 20, 30],
        [45, 67, 89],
        [23, 45, 67]])
tensor([[20, 30],
        [67, 89],
        [45, 67]])
tensor([[10, 20],
        [45, 67],
        [23, 45]])

dónde()

Esta función se utiliza para devolver el nuevo tensor comprobando condicionalmente los tensores existentes.

Sintaxis : torch.where(condición,instrucción1,instrucción2)

dónde,

  • condition se utiliza para verificar la condición del tensor existente aplicando condiciones en los tensores existentes
  • statememt1 se ejecuta cuando la condición es verdadera
  • statememt2 se ejecuta cuando la condición es falsa

Ejemplo: Usaremos diferentes operadores relacionales para verificar la funcionalidad

Python3

# import module
import torch
  
# create a tensor with 3 data in
# 3 three elements each
data = torch.tensor([[[10, 20, 30], 
                      [45, 67, 89],
                      [23, 45, 67]]])
  
# display
print(data)
  
# set the number 100 when the
# number in greater than 45
# otherwise 50
print(torch.where(data > 45, 100, 50))
  
# set the number 100 when the
# number in less than 45
# otherwise 50
print(torch.where(data < 45, 100, 50))
  
# set the number 100 when the number in 
# equal to 23 otherwise 50
print(torch.where(data == 23, 100, 50))

Producción:

tensor([[[10, 20, 30],
         [45, 67, 89],
         [23, 45, 67]]])
tensor([[[ 50,  50,  50],
         [ 50, 100, 100],
         [ 50,  50, 100]]])
tensor([[[100, 100, 100],
         [ 50,  50,  50],
         [100,  50,  50]]])
tensor([[[ 50,  50,  50],
         [ 50,  50,  50],
         [100,  50,  50]]])

Publicación traducida automáticamente

Artículo escrito por 171fa07058 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *