LaurentMazare/tch-rs

Rust bindings for the C++ api of PyTorch.

解決的問題

tch-rs 為 PyTorch C++ API(libtorch)提供 Rust 綁定,讓開發者能直接在 Rust 程式語言中使用 PyTorch 強大的張量運算、自動微分以及神經網路模組。這使得開發人員能在利用 Rust 的安全性與併發特性之際,建立高效率的 AI 模型與應用程式。

工作原理

本專案為 C++ libtorch 庫提供輕量級包裝。它允許使用者透過接近原始 C++ API 的 Rust 界面,與 PyTorch 張量及神經網路元件互動。該套件可連結至系統層級的 libtorch 安裝、Python PyTorch 安裝,或自動下載預先建構好的 libtorch 二進位檔。

適用對象

希望在 Rust 中使用 PyTorch 深度學習功能的開發者,無論是從零開始訓練模型、執行預訓練權重的推論(包含對 SafeTensors 的支援),或是透過 TorchScript JIT 部署模型。

主要特色

  • PyTorch 整合:直接綁定 libtorch,支援張量運算與自動微分。
  • 神經網路 API:提供工具,使用 nn::seqnn::VarStore 建構模型架構並管理參數。
  • 彈性連結方式:支援系統層級、基於 Python 的,或自動下載 libtorch 二進位檔。
  • 權重載入:可使用 SafeTensors 格式從 PyTorch 導入預訓練權重。
  • 廣泛的應用範例:包含 MNIST、ResNet、字元級 RNN,以及簡化版 GPT 的實作。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案