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 计算。