0Pricing
Mojo Academy · Урок

Моделирование тензора в Mojo

Форма, шаги и раскладка элементов.

«Моделирование тензора в Mojo» — бесплатный урок Mojo Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Mojo Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Mojo Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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

Часто задаваемые вопросы

Урок «Моделирование тензора в Mojo» бесплатный?

Да — полный текст урока «Моделирование тензора в Mojo» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Mojo Academy, подпишись на CoddyKit PRO. Курс Mojo Academy содержит 4 уроков всего.

Чему я научусь в уроке «Моделирование тензора в Mojo»?

Форма, шаги и раскладка элементов. Ты практикуешь Mojo Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Mojo Academy?

Предыдущий опыт не требуется. Mojo Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Моделирование тензора в Mojo»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Mojo Academy?

Да. Каждый урок Mojo Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Моделирование тензора в Mojo
  2. Пошаговое создание Matmul
  3. Оптимизация скалярного произведения
  4. Проверка числовой корректности
← Назад к Mojo Academy