Los tensores en PyTorch son la estructura de datos que sostiene casi todo lo que hace la inteligencia artificial moderna: imágenes, audio, texto, video y hasta capas tan complejas como la multi-headed attention de los transformers. Si quieres construir o leer modelos con flexibilidad, dominar tensores es el primer paso.
Esta guía es para ti si estás empezando con PyTorch y quieres entender, desde matemáticas básicas hasta código, cómo se crean y por qué importan los tensores con múltiples dimensiones.
Por qué los tensores son la base de la inteligencia artificial moderna
Un tensor no es solo un arreglo de números. Es la pieza con la que se arman embeddings, capas convolucionales y mecanismos de atención. Cuando miras el código de una clase como MultiHeadedAttention, ves tensores que se transponen, cambian de forma con view y pasan por funciones de atención. Todo eso es manipulación de tensores [00:48].
¿Qué es un tensor en PyTorch? Es una estructura de datos que generaliza escalares, vectores y matrices a cualquier número de dimensiones. PyTorch los usa para representar entradas, pesos y salidas de un modelo.
La idea clave: si entiendes cómo se ven y cómo se manipulan, puedes leer arquitecturas avanzadas sin perderte.
Cómo se relacionan escalares, vectores, matrices y tensores
En matemáticas ya conoces tres estructuras básicas y los tensores extienden esa lógica.
- Un escalar es un número suelto, como 3 o 5,7. Tiene cero dimensiones.
- Un vector agrupa varios escalares, como 1, 2, 3. Tiene una dimensión.
- Una matriz organiza vectores en filas y columnas, por ejemplo una de tamaño 2x3. Tiene dos dimensiones.
¿Y cuando necesitas tres, cuatro o N dimensiones? Ahí ya no hay un nombre matemático cómodo. A eso le llamamos tensores de distintos grados, y es justo lo que PyTorch te deja construir [03:00].
Cómo identificar el grado de un tensor de un vistazo
Hay un truco rápido: cuenta los corchetes que aparecen al inicio o al final del tensor impreso. Si ves tres [, es un tensor de grado tres. Si ves dos, es una matriz. Es la forma más visual de leer su dimensionalidad sin contar elementos uno por uno.
Cómo crear tu primer tensor en PyTorch paso a paso
Antes de escribir código, importa la librería y verifica la versión. Esto te ahorra horas de debugging si más adelante una función no se comporta como esperas.
python
import torch
print(torch.version)
Con eso listo, puedes empezar a generar tensores con valores aleatorios, ceros o unos, eligiendo siempre su forma o size.
Crear un escalar, un vector y una matriz con torch
Cada función te pide la forma que quieres. Aquí tres ejemplos directos del flujo que se trabaja en clase [05:30]:
python
escalar = torch.rand(1)
vector = torch.zeros(1, 10)
matriz = torch.ones(2, 2)
El escalar imprime un número aleatorio. El vector muestra una fila con diez ceros. La matriz despliega dos filas y dos columnas llenas de unos. Tres estructuras, tres formas distintas, mismo objeto base: un tensor.
Crear un tensor de tres dimensiones
Cuando subes a tres dimensiones, ya entras a territorio puramente tensorial.
python
t5 = torch.rand(5, 2, 3)
Este tensor tiene grado tres porque verás tres corchetes anidados al imprimirlo. No es bonito de leer, pero esa estructura es la que alimenta modelos reales [07:30].
Cómo definir tensores con valores específicos en lugar de aleatorios
A veces no quieres números al azar, quieres controlar exactamente qué hay dentro. Para eso existe torch.tensor, que recibe listas de Python.
python
t0 = torch.tensor(200)
t1 = torch.tensor([1, 2, 3])
t2 = torch.tensor([[1, 2, 3], [4, 5, 6]])
El primero es de dimensión cero, sin corchetes. El segundo es de dimensión uno. El tercero, una matriz de grado dos. Cada nivel de corchetes que añades suma una dimensión.
¿Qué pasa si las dimensiones no cuadran al crear un tensor? PyTorch lanza un error. Todas las filas deben tener el mismo número de elementos, y todas las sub estructuras deben respetar la forma esperada. Por eso siempre hay que pensar en el size antes de escribir.
Para qué sirven los tensores en aplicaciones reales de machine learning
Los tensores no son un capricho académico, modelan datos del mundo real con naturalidad.
- En series de tiempo, una dimensión guarda variables como población o densidad, otra guarda los periodos temporales, y una tercera guarda los registros u observaciones [09:45].
- En imágenes, los canales de color red, green, blue forman una dimensión, y los píxeles X e Y forman las otras dos. Cada foto vive como un tensor de tres dimensiones.
- En video, audio o texto con batches, fácilmente llegas a cuatro o más dimensiones.
Por eso vale la pena practicar: cada arquitectura que veas en PyTorch va a hablar este idioma.
¿Cuánto sabías ya sobre tensores antes de leer esto? Cuéntame en los comentarios qué estructura te cuesta más visualizar y seguimos profundizando en operaciones y manipulación en la siguiente clase.