Skip to content

Maurog-rgba/numpy-transformer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Estrutura do Projeto numpy-transformer

Visão geral

O repositório implementa um Transformer em NumPy, incluindo:

  • blocos básicos de rede neural (camadas, ativações e otimizadores),
  • integração desses blocos em um modelo completo,
  • um script de treinamento manual,
  • e validação de gradientes contra PyTorch.

Árvore de diretórios

/numpy-transformer
│
├── core/
│   ├── layers.py
│   ├── activations.py
│   └── optimizers.py
│
├── model.py
├── train.py
├── docs/
│   └── STRUCTURE.md
└── tests/
        └── grad_check.py

Detalhamento por módulo

core/

Contém os componentes fundamentais usados para montar o modelo.

  • layers.py

    • Implementações de camadas (ex.: Linear, LayerNorm, MultiHeadAttention).
    • Responsável por lógica de forward e backward das camadas.
  • activations.py

    • Funções de ativação (ex.: ReLU, Softmax) e seus gradientes.
    • Utilizadas por camadas e pelo fluxo de treinamento.
  • optimizers.py

    • Algoritmos de otimização (ex.: SGD com momentum, Adam).
    • Atualiza os parâmetros do modelo com base nos gradientes calculados.

model.py

  • Faz a integração dos blocos em uma arquitetura Transformer (encoder/decoder).
  • Define como os componentes se conectam durante o forward e o treinamento.

train.py

  • Contém o loop de treinamento manual.
  • Orquestra: carregamento/preparo de dados, passo de forward, cálculo de loss, backward e atualização por otimizador.

tests/

  • grad_check.py
    • Script para validar gradientes da implementação NumPy.
    • Compara resultados com PyTorch para aumentar confiança na correção matemática.

Fluxo recomendado de leitura

Para entender o projeto rapidamente:

  1. Comece por model.py para ver a arquitetura geral.
  2. Siga para core/layers.py e core/activations.py para os detalhes numéricos.
  3. Veja train.py para o ciclo de treinamento completo.
  4. Finalize com tests/grad_check.py para validar consistência dos gradientes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages