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 张量和神经网络组件进行交互。该 crate 可以链接到系统级 libtorch 安装、Python PyTorch 安装,或自动下载预构建的 libtorch 二进制文件。
适用人群
希望在 Rust 中使用 PyTorch 深度学习功能的开发者,无论是从头训练模型、使用预训练权重进行推理(包括对 SafeTensors 的支持),还是通过 TorchScript JIT 部署模型。
主要亮点
- PyTorch 集成:直接绑定 libtorch,支持张量操作和自动微分。
- 神经网络 API:使用
nn::seq和nn::VarStore构建网络架构并管理参数。 - 灵活链接:支持系统级、基于 Python 的或自动下载 libtorch 二进制文件的链接方式。
- 权重加载:支持使用 SafeTensors 格式从 PyTorch 导入预训练权重。
- 广泛的应用示例:包含 MNIST、ResNet、字符级 RNN 以及简化版 GPT 的实现。
相关
- 项目
- 项目
- 项目
- 项目
- 项目