blog.dopana

Back

Một trong những điểm sáng nhất của Burn là khả năng tách biệt hoàn toàn giữa định nghĩa kiến trúc mô hình và backend tính toán.

Định nghĩa Neural Network với Module Derive Macro#

Trong Burn, mọi mô hình đều implement trait Module. Nhờ có proc-macro #[derive(Module)], việc khai báo lớp mạng cực kỳ rõ ràng và type-safe.

Sức mạnh của kiến trúc Multi-Backend#

Burn cho phép đổi backend linh hoạt bằng cách đổi Generic type B:

  • WGPU Backend: Hoàn hảo cho GPU cross-platform (Vulkan, Metal, DirectX).
  • LibTorch Backend: Tối ưu khi cần dùng lại các PyTorch C++ bind.
  • Candle Backend: Tối ưu nhẹ cho Hugging Face Candle.
  • NdArray Backend: Dành cho môi trường CPU không có GPU.
src/main.rs
use burn::backend::wgpu::{Wgpu, WgpuDevice};

fn main() {
    let device = WgpuDevice::default();
    let model = Model::<Wgpu>::new(784, 128, 10, &device);
    println!("Khởi tạo mô hình thành công!");
}
rust

Tài liệu tham khảo#