En este artículo, discutiremos cómo acceder a los elementos en un tensor 3D en Pytorch. PyTorch es una biblioteca de tensores optimizada que se utiliza principalmente para aplicaciones de aprendizaje profundo que utilizan GPU y CPU. Es una de las bibliotecas de aprendizaje automático más utilizadas, otras son TensorFlow y Keras. Python es compatible con el módulo de la antorcha, por lo que para trabajar con esto primero importamos el módulo al espacio de trabajo.
Sintaxis :
antorcha de importación
Podemos crear un vector usando la función torch.tensor()
Sintaxis:
antorcha.tensor([valor1,valor2,.valor n])
Ejemplo 1: código de Python para crear un tensor 3 D y mostrar
Python3
# import torch module import torch # create an 3 D tensor with 8 elements each a = torch.tensor([[[1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]]) # display actual tensor print(a)
Producción:
tensor([[[ 1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]])
Para acceder a los elementos de un tensor 3-D, se puede utilizar Slicing. Rebanar significa seleccionar los elementos presentes en el tensor usando el operador de rebanado “:”. Podemos dividir los elementos usando el índice de ese elemento en particular.
Nota : la indexación comienza con 0
Sintaxis:
tensor[inicio_posición_tensor:fin_posición_tensor, inicio_dimensión_tensor:fin_dimensión_tensor , inicio_valor_tensor:fin_valor_tensor]
dónde,
- tensor_position_start : especifica el tensor para comenzar a iterar
- tensor_position_end : especifica el tensor para detener la iteración
- tensor_dimension_start : especifica el tensor para iniciar la iteración del tensor en posiciones dadas
- tensor_dimension_stop : especifica el tensor para detener la iteración del tensor en posiciones determinadas
- tensor_value_start : especifica la posición de inicio del tensor para iterar los elementos dados en las dimensiones
- tensor_value_stop : especifica la posición final del tensor para iterar los elementos dados en las dimensiones
A continuación se presentan los diversos ejemplos de la misma.
Ejemplo 2: código de Python para acceder a todos los tensores de 1 dimensión y obtener solo 7 valores en esa dimensión
Python3
# import torch module import torch # create an 3 D tensor with 8 elements each a = torch.tensor([[[1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]]) # display actual tensor print(a) # access all the tensors of 1 dimension # and get only 7 values in that dimension print(a[0:1, 0:1, :7])
Producción:
tensor([[[ 1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]]) tensor([[[1, 2, 3, 4, 5, 6, 7]]])
Ejemplo 3: código de Python para acceder a todos los tensores de todas las dimensiones y obtener solo 3 valores en cada dimensión
Python3
# import torch module import torch # create an 3 D tensor with 8 elements each a = torch.tensor([[[1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]]) # display actual tensor print(a) # access all the tensors of all dimensions # and get only 3 values in each dimension print(a[0:1, 0:2, :3])
Producción:
tensor([[[ 1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]]) tensor([[[ 1, 2, 3], [10, 11, 12]]])
Ejemplo 4: acceda a 8 elementos en 1 dimensión en todos los tensores
Python3
# import torch module import torch # create an 3 D tensor with 8 elements each a = torch.tensor([[[1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]]) # display actual tensor print(a) # access 8 elements in 1 dimension on all tensors print(a[0:2, 1, 0:8])
Producción:
tensor([[[ 1, 2, 3, 4, 5, 6, 7, 8], [10, 11, 12, 13, 14, 15, 16, 17]], [[71, 72, 73, 74, 75, 76, 77, 78], [81, 82, 83, 84, 85, 86, 87, 88]]]) tensor([[10, 11, 12, 13, 14, 15, 16, 17], [81, 82, 83, 84, 85, 86, 87, 88]])
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA