LaurentMazare/tch-rs
Rust bindings for the C++ api of PyTorch.
What it solves
tch-rs 提供 Rust 綁定 PyTorch C++ API(libtorch),讓開發者能在 Rust 程式語言中使用 PyTorch 強大的張量運算、自動微分與神經網路模組。它彌補了想要在 Rust 中獲得效能與安全,同時利用 PyTorch 成熟生態系的需求。
How it works
此專案在 C++ PyTorch API 之上提供薄層封裝,盡可能貼近原始 C++ API,以確保一致性。函式庫會連結 libtorch,可透過系統全域安裝、Python PyTorch 安裝,或在建置過程中自動下載取得。
Who it’s for
適合想要使用 PyTorch 功能來建構、訓練與部署機器學習模型,但不想撰寫 Python 程式碼的 Rust 開發者。
Highlights
- Tensor Operations: 支援基本的張量操作與數學運算。
- Automatic Differentiation: 可使用
nn::VarStore以及 SGD、Adam 等 optimizer 透過梯度下降訓練模型。 - Neural Network API: 提供建構線性層與激活函式(例如 ReLU)等架構的工具。
- Pre‑trained Model Support: 能從 PyTorch 檔案或
safetensors格式載入權重,即可直接推論。 - TorchScript JIT: 支援以 TorchScript 部署與執行在 Python 中訓練的模型。
- Cross‑Platform: 支援 Linux、macOS 與 Windows,並提供 CUDA 支援以加速 GPU 計算。