Mojo Academy · Aula

Modelando um tensor em Mojo

Forma, passadas e layout dos elementos.

Aula 1 de 413 etapas

Modelando um tensor em Mojo é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.

O que é um Tensor?

Um tensor é simplesmente uma grade n-dimensional de números. Um vetor é 1D, uma matriz é 2D e um lote de imagens geralmente é 4D.

Memória Plana por Baixo

Independentemente de quantas dimensões você imagine, um tensor realmente existe como um único buffer plano de valores na memória, disposto de ponta a ponta.

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

A Forma Descreve a Grade

A shape é uma tupla de tamanhos, um para cada dimensão. Uma shape de (2, 3) significa duas linhas com três colunas.

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

Os Índices Selecionam um Elemento

Você identifica um elemento com um índice por dimensão. Em um tensor (2, 3), (1, 2) é a última coluna da segunda linha.

Os Strides Mapeiam para a Memória

Um stride informa quantas posições planas você deve saltar para avançar uma etapa ao longo de uma dimensão. Os strides transformam índices em um único deslocamento.

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

A Fórmula do Deslocamento

Achate qualquer índice usando um produto escalar: offset é igual à soma de cada índice multiplicado pelo seu stride. Esse offset alcança a posição correta.

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

Disposição por Linhas

O código numérico do Mojo geralmente armazena as linhas de forma contígua, o que é chamado de row-major. A última dimensão tem stride 1, portanto as colunas ficam lado a lado.

Por que os Strides São Poderosos

Com strides inteligentes, você pode visualizar, recortar ou transpor um tensor sem copiar os dados. Apenas os strides mudam, não o buffer.

O Tipo dos Elementos é Importante

Todo tensor tem um dtype fixo, como Float32 ou Int64. Um tipo uniforme permite que o Mojo compacte os valores e faça os cálculos rapidamente.

alias dtype = DType.float32

Uma Estrutura de Tensor Mínima

Você pode representar um tensor como uma estrutura que reúne um ponteiro para os dados, sua shape e seus strides, mantendo as informações de disposição em um só lugar.

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

Contíguo versus com Strides

Um tensor contíguo não tem lacunas, portanto uma varredura linear é barata. Visualizações com strides podem saltar pela memória, o que pode tornar o acesso à memória mais lento.

Verificação rápida

Você tem um tensor (2, 3) no formato row-major. Como você acessa o elemento (1, 2)?

Recapitulação

Um tensor é um buffer plano acompanhado de forma e strides; a fórmula do deslocamento mapeia os índices para a memória, e o formato row-major mantém as colunas contíguas. 🧮

Grátis para começar

Aprenda Mojo com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Modelando um tensor em Mojo” é grátis?

Sim — o texto completo de “Modelando um tensor em Mojo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.

O que vou aprender em “Modelando um tensor em Mojo”?

Forma, passadas e layout dos elementos. Você pratica Mojo Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Mojo Academy?

Nenhuma experiência prévia é necessária. Mojo Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Modelando um tensor em Mojo”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Mojo Academy?

Sim. Cada aula de Mojo Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Modelando um tensor em Mojo
  2. Construindo uma multiplicação de matrizes passo a passo
  3. Otimizando o produto interno
  4. Verificando a correção numérica
← Voltar para Mojo Academy