LaurentMazare/tch-rs
Rust bindings for the C++ api of PyTorch.
What it solves
tch-rs は PyTorch C++ API(libtorch)への Rust バインディングを提供し、開発者が Rust 言語内で PyTorch の強力なテンソル演算、自動微分、ニューラルネットワークモジュールを利用できるようにします。Rust の性能と安全性を活かしつつ、PyTorch の成熟したエコシステムを活用したい人向けの橋渡しを行います。
How it works
本プロジェクトは C++ の PyTorch API を薄くラップしたものです。できるだけオリジナルの C++ API に近い形で実装し、一貫性を保っています。ライブラリは libtorch にリンクし、システム全体へのインストール、Python の PyTorch インストール、あるいはビルド時に自動ダウンロードで提供できます。
Who it’s for
Python コードを書かずに PyTorch の機能を使って機械学習モデルを構築・学習・デプロイしたい Rust 開発者を対象としています。
Highlights
- Tensor Operations: 基本的なテンソル操作と数値演算をサポート。
- Automatic Differentiation:
nn::VarStoreと SGD、Adam などのオプティマイザを用いて勾配降下法でモデルを学習可能。 - Neural Network API: 線形層や活性化関数(例: ReLU)を組み合わせてアーキテクチャを構築するツールを提供。
- Pre‑trained Model Support: PyTorch ファイルや
safetensors形式から重みをロードし、すぐに推論が可能。 - TorchScript JIT: TorchScript を介して Python で学習したモデルのデプロイと実行をサポート。
- Cross‑Platform: Linux、macOS、Windows をサポートし、GPU 加速のための CUDA も利用可能。