#Importamos el módulo torch una vez instalado.
import torch
#Importamos el módulo torch una vez instalado.
import matplotlib.pyplot as plt
def main():
# Ahora vamos a crear, por ejemplo, un tensor de 4 dimensiones (3x2x3x4)
Nuestro_tensor_4d = torch.arange(72).reshape(3, 2, 3, 4)
"""
reshape es una función utilizada
en bibliotecas de procesamiento de datos y cálculo numérico,
como NumPy o PyTorch, para cambiar la forma (dimensión)
de una matriz o tensor sin cambiar los datos subyacentes.
Esta operación es especialmente útil cuando trabajas con
datos multidimensionales y necesitas reorganizarlos
para adaptarlos a ciertas operaciones o requisitos específicos.
"""
# Imprimimos el tensor
print("Tensor de 4 dimensiones:")
print(Nuestro_tensor_4d)
print("\nForma del tensor:", Nuestro_tensor_4d.shape)
"""
Ahora con el fin de familiarizarcos con este sencillo
ejercicio sobre tensores, vamos a realizar varias operaciones
sobre el mismo:
Acceder a elementos.
Sumarlo a si mismo.
Operacción de reducción.
"""
# Acceder a elementos específicos del tensor
element = Nuestro_tensor_4d[1, 0, 2, 1]
print("\nElemento en la posición [1, 0, 2, 1]:", element)
# Sumar el tensor a sí mismo (operación de broadcasting)
tensor_sum = Nuestro_tensor_4d + Nuestro_tensor_4d
print("\nResultado de la suma:")
print(tensor_sum)
# Realizar una operación de reducción a lo largo de una dimensión específica
tensor_sum_reduce_dim2 = tensor_sum.sum(dim=2)
print("\nResultado de la suma a lo largo de la dimensión 2:")
print(tensor_sum_reduce_dim2)
# Gráfica del tensor resultante de la suma
plt.figure()
plt.imshow(tensor_sum[1, 1], cmap='plasma')
plt.title("Tensor resultante de la suma - Capa [1, 1]")
plt.colorbar()
plt.show()
# Realizar una operación de reducción a lo largo de una dimensión específica
tensor_sum_reduce_dim2 = tensor_sum.sum(dim=2)
print("\nResultado de la suma a lo largo de la dimensión 2:")
print(tensor_sum_reduce_dim2)
# Gráfica del tensor resultante de la reducción
plt.figure()
plt.imshow(tensor_sum_reduce_dim2[2], cmap='magma')
plt.title("Tensor resultante de la reducción - Capa [2]")
plt.colorbar()
plt.show()
if __name__ == "__main__":
main()
"""
***************************************************************************************
RESULTADOS RECIBIDOS POR CONSOLA LINUX.
Tensor de 4 dimensiones:
tensor([[[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]],
[[[24, 25, 26, 27],
[28, 29, 30, 31],
[32, 33, 34, 35]],
[[36, 37, 38, 39],
[40, 41, 42, 43],
[44, 45, 46, 47]]],
[[[48, 49, 50, 51],
[52, 53, 54, 55],
[56, 57, 58, 59]],
[[60, 61, 62, 63],
[64, 65, 66, 67],
[68, 69, 70, 71]]]])
Forma del tensor: torch.Size([3, 2, 3, 4])
Elemento en la posición [1, 0, 2, 1]: tensor(33)
Resultado de la suma:
tensor([[[[ 0, 2, 4, 6],
[ 8, 10, 12, 14],
[ 16, 18, 20, 22]],
[[ 24, 26, 28, 30],
[ 32, 34, 36, 38],
[ 40, 42, 44, 46]]],
[[[ 48, 50, 52, 54],
[ 56, 58, 60, 62],
[ 64, 66, 68, 70]],
[[ 72, 74, 76, 78],
[ 80, 82, 84, 86],
[ 88, 90, 92, 94]]],
[[[ 96, 98, 100, 102],
[104, 106, 108, 110],
[112, 114, 116, 118]],
[[120, 122, 124, 126],
[128, 130, 132, 134],
[136, 138, 140, 142]]]])
Resultado de la suma a lo largo de la dimensión 2:
tensor([[[ 24, 30, 36, 42],
[ 96, 102, 108, 114]],
[[168, 174, 180, 186],
[240, 246, 252, 258]],
[[312, 318, 324, 330],
[384, 390, 396, 402]]])
"""