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