0Pricing
Mojo Academy · Leçon

Modéliser un tenseur dans Mojo

Forme, strides et disposition des éléments.

Modéliser un tenseur dans Mojo est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Mojo Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Mojo Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

What Is a Tensor?

A tensor is just an n-dimensional grid of numbers. A vector is 1D, a matrix is 2D, and an image batch is often 4D.

Flat Memory Underneath

However many dimensions you imagine, a tensor really lives as one flat buffer of values in memory, laid out end to end.

var data = List[Float32](0, 1, 2, 3, 4, 5)

Shape Describes the Grid

The shape is a tuple of sizes, one per dimension. A shape of (2, 3) means two rows of three columns.

var shape = (2, 3)  # 2 rows, 3 cols

Indices Pick an Element

You name an element with one index per dimension. In a (2, 3) tensor, (1, 2) is the last column of the second row.

Strides Map to Memory

A stride tells you how many flat slots to jump to move one step along a dimension. Strides turn indices into a single offset.

var strides = (3, 1)  # row jump 3, col jump 1

The Offset Formula

Flatten any index by a dot product: offset equals the sum of each index times its stride. That offset reaches the right slot.

offset = i * strides[0] + j * strides[1]

Row-Major Layout

Mojo numeric code usually stores rows contiguously, called row-major. The last dimension has stride 1, so columns sit side by side.

Why Strides Are Powerful

With clever strides you can view, slice, or transpose a tensor without copying data. Only the strides change, not the buffer.

Element Type Matters

Every tensor has a fixed dtype, like Float32 or Int64. A uniform type lets Mojo pack values tightly and compute fast.

alias dtype = DType.float32

A Minimal Tensor Struct

You can model a tensor as a struct that bundles a data pointer with its shape and strides, keeping layout info in one place.

struct Tensor:
    var data: UnsafePointer[Float32]
    var shape: (Int, Int)
    var strides: (Int, Int)

Contiguous vs Strided

A contiguous tensor has no gaps, so a linear scan is cheap. Strided views may skip around, which can slow memory access.

Quick Check

You have a (2, 3) row-major tensor. How do you reach element (1, 2)?

Recap

A tensor is a flat buffer plus shape and strides; the offset formula maps indices to memory, and row-major keeps columns contiguous. 🧮

Questions Fréquemment Posées

La leçon « Modéliser un tenseur dans Mojo » est-elle gratuite ?

Oui — le texte complet de « Modéliser un tenseur dans Mojo » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Mojo Academy, passe à CoddyKit PRO. Le cours Mojo Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Modéliser un tenseur dans Mojo » ?

Forme, strides et disposition des éléments. Tu pratiques Mojo Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Mojo Academy ?

Aucune expérience préalable n'est requise. Mojo Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Modéliser un tenseur dans Mojo » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Mojo Academy ?

Oui. Chaque leçon Mojo Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Modéliser un tenseur dans Mojo
  2. Construire une multiplication matricielle pas à pas
  3. Optimiser le produit scalaire
  4. Vérifier la justesse numérique
← Retour à Mojo Academy