blog.dopana

Back

Burn の大きな特長の一つは、モデルアーキテクチャの定義とハードウェア計算バックエンドが完全に分離されている点です。

Module マクロによるニューラルネットワークの定義#

Burnでは、すべてのモデル要素が Module トレイトを実装します。#[derive(Module)] プロシージャルマクロにより、レイヤー定義を型安全かつ簡潔に行えます。

マルチバックエンドの強み#

ジェネリクス型パラメータ B を変更するだけで、実行環境を簡単に切り替えられます:

  • WGPU Backend: Vulkan, Metal, DirectXに対応した高性能クロスプラットフォームGPU実行。
  • LibTorch Backend: PyTorch C++ バインディングとの互換性。
  • Candle Backend: Hugging Face Candleをベースにした軽量バックエンド。
  • NdArray Backend: CPU専用のフォールバック。
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!("モデルの初期化が完了しました!");
}
rust

参考文献#