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 等优化器通过梯度下降训练模型。
  • Neural Network API: 提供构建线性层和激活函数(如 ReLU)等架构的工具。
  • Pre‑trained Model Support: 能从 PyTorch 文件或 safetensors 格式加载权重,直接进行推理。
  • TorchScript JIT: 支持通过 TorchScript 部署和运行在 Python 中训练的模型。
  • Cross‑Platform: 支持 Linux、macOS 与 Windows,并提供 CUDA 支持以加速 GPU 计算。