Código de Python - SOBRE TENSORES

Imágen de perfil

SOBRE TENSORESgráfica de visualizaciones


Python

Publicado el 23 de Julio del 2023 por Hilario (124 códigos)
986 visualizaciones desde el 23 de Julio del 2023
Trabajo sobre Tensores.

Tensor.
En matemáticas, un tensor es un objeto algebraico
que describe una relación multilineal entre conjuntos
de objetos algebraicos relacionados con un espacio vectorial.
Entre los objetos que los tensores pueden mapear se incluyen
vectores y escalares, e incluso otros tensores.
Hay muchos tipos de tensores, incluidos escalares
y vectores (que son los tensores más simples), vectores duales,
mapas multilineales entre espacios vectoriales e
incluso algunas operaciones como el producto escalar.
Los tensores se definen independientemente de cualquier base,
aunque a menudo se hace referencia a ellos por sus
componentes en una base relacionada con un sistema de coordenadas particular.
Por supuesto las matrices son semejantes a los tensores.
El tensor abarca el espacio en n dimesniones.
*************************************************************
En este ejercicio importamos el módulo torch.
Para poder ejecutarlo deberás de tener instalado este módulo.
En mi ordenador bajo la versión Ubuntu 20.04.6 LTS, el comando de
instalación es el siguiente:

pip install torch torchvision torchaudio

En mi caso lo hago sin utilizar una GPU o sin utilizar CUDA,
con la versión de CPU de PyTorch

Requerimientos

Programa realizado con GOOGLE COLAB
bajo una plataforma Linux, Ubuntu 20.04.6 LTS

V.0

Actualizado el 1 de Agosto del 2023 (Publicado el 23 de Julio del 2023)gráfica de visualizaciones de la versión: V.0
987 visualizaciones desde el 23 de Julio del 2023
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

tensor1
tensor2
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#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]]])
  """



Comentarios sobre la versión: V.0 (0)


No hay comentarios
 

Comentar la versión: V.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7400