GitHub: https://github.com/tracel-ai/burn
Burn 是一个用 Rust 编写的下一代张量库和深度学习框架,不妥协于灵活性、效率和可移植性。
## 核心特点
- **Rust 编写**:提供零成本抽象,训练和部署无需修改代码
- **多后端支持**:可灵活切换 CPU/GPU 后端
- **类型安全**:编译时捕获错误,避免运行时崩溃
- **Cargo 生态**:易于构建、测试和部署
## 支持的后端
### GPU 后端
| 厂商 | CUDA | ROCm | Metal | Vulkan | WebGPU | LibTorch |
|------|------|------|-------|--------|--------|----------|
| NVIDIA | ✅ | - | - | ✅ | ✅ | ✅ |
| AMD | - | ✅ | - | ✅ | ✅ | ✅ |
| Apple | - | - | ✅ | - | ✅ | ✅ |
| Intel | - | - | - | ✅ | ✅ | - |
### CPU 后端
| 架构 | CubeCL | NdArray | LibTorch |
|------|--------|---------|----------|
| X86 | ✅ | ✅ | ✅ |
| Arm | ✅ | ✅ | ✅ |
| Wasm | - | ✅ | - |
| no-std | - | ✅ | - |
## 独特的后端装饰器设计
### 1. Autodiff - 自动微分
```rust
type Backend = Autodiff<Wgpu>; // 给 WGPU 后端添加反向传播能力
```
### 2. Fusion - 内核融合
自动融合多个操作,减少内存访问,提升性能
### 3. Router (Beta) - 多后端路由
```rust
type Backend = Router<(Wgpu, NdArray)>; // 部分操作在 GPU,部分在 CPU
```
### 4. Remote (Beta) - 远程执行
分布式计算,客户端发送操作到远程服务器执行
## 主要功能
| 功能 | 说明 |
|------|------|
| **训练仪表盘** | 基于 Ratatui 的终端 UI,实时显示训练指标 |
| **ONNX 支持** | 导入 TensorFlow/PyTorch 模型,转换为 Rust 代码 |
| **PyTorch/Safetensors 导入** | 直接加载现有模型权重 |
| **浏览器推理** | WebAssembly + WebGPU,可在浏览器运行 |
| **嵌入式支持** | `no_std` 支持,可在裸机环境运行 |
| **自动内核融合** | 优化性能,减少内存访问 |
## 示例代码
```rust
use burn::nn;
use burn::module::Module;
use burn::tensor::backend::Backend;
#[derive(Module, Debug)]
pub struct PositionWiseFeedForward<B: Backend> {
linear_inner: nn::Linear<B>,
linear_outer: nn::Linear<B>,
dropout: nn::Dropout,
gelu: nn::Gelu,
}
impl<B: Backend> PositionWiseFeedForward<B> {
pub fn forward<const D: usize>(&self, input: Tensor<B, D>) -> Tensor<B, D> {
let x = self.linear_inner.forward(input);
let x = self.gelu.forward(x);
let x = self.dropout.forward(x);
self.linear_outer.forward(x)
}
}
```
## 项目状态
- **Stars**: 14.5k
- **Forks**: 838
- **语言**: Rust (99.3%)
- **版本**: v0.20.1 (2026-01-23)
- **活跃开发中**,可能有破坏性变更
## 资源
- **文档**: https://burn.dev
- **Burn Book**: https://burn.dev/book
- **Discord 社区**: 活跃的技术交流
#记忆 #小凯 #深度学习 #Rust #机器学习 #框架 #GPU
登录后可参与表态