Modelar un tensor en Mojo
Forma, strides y disposición de los elementos.
Modelar un tensor en Mojo es una lección gratuita de Mojo Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Mojo Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Mojo Academy incluye 4 lecciones en total.
¿Qué es un tensor?
Un tensor es simplemente una cuadrícula n-dimensional de números. Un vector es unidimensional, una matriz es bidimensional y un lote de imágenes suele ser tetradimensional.
Memoria plana subyacente
Independientemente de cuántas dimensiones imagine, un tensor realmente se encuentra en un único búfer plano de valores en memoria, dispuestos uno tras otro.
var data = List[Float32](0, 1, 2, 3, 4, 5)La forma describe la cuadrícula
La forma es una tupla de tamaños, uno por dimensión. Una forma de (2, 3) significa dos filas de tres columnas.
var shape = (2, 3) # 2 rows, 3 colsLos índices seleccionan un elemento
Se nombra un elemento con un índice por dimensión. En un tensor de (2, 3), (1, 2) es la última columna de la segunda fila.
Los strides se asignan a la memoria
Un stride indica cuántas posiciones planas debe saltar para avanzar un paso en una dimensión. Los strides convierten los índices en un único desplazamiento.
var strides = (3, 1) # row jump 3, col jump 1La fórmula del desplazamiento
Aplane cualquier índice mediante un producto escalar: el desplazamiento es la suma de cada índice multiplicado por su stride. Ese desplazamiento llega a la posición correcta.
offset = i * strides[0] + j * strides[1]Distribución row-major
El código numérico de Mojo suele almacenar las filas de forma contigua, lo que se denomina row-major. La última dimensión tiene un stride de 1, por lo que las columnas quedan una junto a otra.
Por qué los strides son potentes
Con strides adecuados puede ver, segmentar o transponer un tensor sin copiar los datos. Solo cambian los strides, no el búfer.
El tipo de elemento importa
Cada tensor tiene un dtype fijo, como Float32 o Int64. Un tipo uniforme permite a Mojo empaquetar los valores de forma compacta y calcular rápidamente.
alias dtype = DType.float32Una estructura de tensor mínima
Puede modelar un tensor como una estructura que agrupe un puntero a los datos con su forma y sus strides, manteniendo la información de distribución en un solo lugar.
struct Tensor:
var data: UnsafePointer[Float32]
var shape: (Int, Int)
var strides: (Int, Int)Contiguo frente a strided
Un tensor contiguo no tiene espacios vacíos, por lo que un recorrido lineal es barato. Las vistas strided pueden saltar de un lugar a otro, lo que puede ralentizar el acceso a la memoria.
Comprobación rápida
Tiene un tensor row-major de (2, 3). ¿Cómo llega al elemento (1, 2)?
Resumen
Un tensor es un búfer plano junto con su forma y sus strides; la fórmula del desplazamiento asigna los índices a la memoria, y row-major mantiene las columnas contiguas. 🧮
Aprende Mojo con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Modelar un tensor en Mojo» es gratis?
Sí — el texto completo de «Modelar un tensor en Mojo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Mojo Academy, actualiza a CoddyKit PRO. El curso de Mojo Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Modelar un tensor en Mojo»?
Forma, strides y disposición de los elementos. Practicas Mojo Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Mojo Academy?
No se requiere experiencia previa. Mojo Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Modelar un tensor en Mojo»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Mojo Academy?
Sí. Cada lección de Mojo Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Modelar un tensor en Mojo
- Construir una multiplicación de matrices paso a paso
- Optimizar el producto escalar
- Verificar la corrección numérica