Mojo Academy · Lección

Modelar un tensor en Mojo

Forma, strides y disposición de los elementos.

Lección 1 de 413 pasos

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 cols

Los í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 1

La 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.float32

Una 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. 🧮

Gratis para empezar

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

  1. Modelar un tensor en Mojo
  2. Construir una multiplicación de matrices paso a paso
  3. Optimizar el producto escalar
  4. Verificar la corrección numérica
← Volver a Mojo Academy