Modelando um tensor em Mojo
Forma, passadas e layout dos elementos.
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 colsOs Í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 1A 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.float32Uma 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. 🧮
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
- Modelando um tensor em Mojo
- Construindo uma multiplicação de matrizes passo a passo
- Otimizando o produto interno
- Verificando a correção numérica