Repolode
tracel-ai

tracel-ai/burn

Biblioteca de tensores e framework de deep learning em Rust para treinamento e inferência em backends CUDA, ROCm, Metal, Vulkan, WebGPU e CPU.

Alternativa open source a:PyTorch

Estrelas
16,144
Forks
1,106
Issues abertas
173
Último commit
há 12 horas

O que é?

Burn é uma biblioteca de tensores e um framework de deep learning escrito em Rust. O objetivo é usar a mesma base de código para treinamento e implantação: o modelo treinado com sua API é o mesmo código executado em produção, sem precisar exportá-lo para um runtime separado. O framework mantém um estilo de programação dinâmico parecido com o do PyTorch, enquanto compila operações de tensores com JIT e realiza fusão automática de kernels.

O framework oferece suporte a vários backends, que podem ser alternados sem alterar o código do modelo. Entre eles estão CUDA, ROCm, Metal, Vulkan e WebGPU, por meio da camada de computação CubeCL, além de um backend de CPU em Rust puro (Flex), que também funciona em targets Wasm e no_std. Autodiff, fusão de kernels e execução remota são implementados como decorators de backend. É possível importar pesos de modelos nos formatos ONNX, PyTorch e Safetensors, e um dashboard no terminal exibe métricas de treinamento.

O projeto está em desenvolvimento ativo e traz mudanças incompatíveis entre versões. Seu ecossistema inclui crates para visão computacional, aprendizado por reforço, datasets e benchmarking.

Recursos principais

  • 01Uma única API de tensores e módulos compatível com backends CUDA, ROCm, Metal, Vulkan, WebGPU e CPU.
  • 02Fusão automática de kernels e autodiff implementados como decorators de backend.
  • 03Importa modelos ONNX como código Rust nativo e carrega pesos de PyTorch e Safetensors.
  • 04Dashboard de treinamento no terminal para acompanhar métricas e checkpoints.
  • 05Backend de CPU Flex com suporte a no_std e WebAssembly.
  • 06Modo de execução remota para executar operações de tensores em um servidor (beta).

Casos de uso

  • Treinar um modelo em Rust e implantar o mesmo código em servidores, navegadores ou dispositivos embarcados.
  • Executar modelos treinados com ONNX ou PyTorch em uma aplicação Rust.
  • Executar inferência no navegador com WebGPU ou WebAssembly.
  • Experimentar com deep learning em Rust usando compilação incremental rápida.

Antes de usar

  • O backend LibTorch foi descontinuado na versão 0.22.0 e removido de main, então a aceleração por GPU agora depende dos backends do CubeCL.
  • Cada backend de GPU funciona apenas com combinações específicas de fornecedor e API, conforme indicado na matriz de compatibilidade do README.

Tópicos

Perguntas frequentes

O que é burn?
Biblioteca de tensores e framework de deep learning em Rust para treinamento e inferência em backends CUDA, ROCm, Metal, Vulkan, WebGPU e CPU. Burn é uma biblioteca de tensores e um framework de deep learning escrito em Rust. O objetivo é usar a mesma base de código para treinamento e implantação: o modelo treinado com sua API é o mesmo código executado em produção, sem precisar exportá-lo para um runtime separado. O framework mantém um estilo de programação dinâmico parecido com o do PyTorch, enquanto compila operações de tensores com JIT e realiza fusão automática de kernels.
burn é gratuito? Qual é a licença?
burn é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
burn ainda é mantido?
Manutenção ativa. O último commit de burn foi em 21 de out. de 2026.
Para que posso usar burn?
Treinar um modelo em Rust e implantar o mesmo código em servidores, navegadores ou dispositivos embarcados. Executar modelos treinados com ONNX ou PyTorch em uma aplicação Rust. Executar inferência no navegador com WebGPU ou WebAssembly. Experimentar com deep learning em Rust usando compilação incremental rápida.
Onde consigo burn?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tracel-ai/burn

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados