Repolode
LaurentMazare

LaurentMazare/tch-rs

PyTorch C++ API(libtorch)的 Rust 绑定,可用 Rust 构建、训练和运行深度学习模型。

Star
5,516
Fork
463
未关闭 Issue
276
最近提交
3个月前

这是什么?

tch-rs 提供 `tch` crate,是对 PyTorch C++ API(libtorch)的薄封装,接口尽量贴近原始 C++ 接口,便于在 Rust 中直接调用张量运算、自动微分和神经网络模块。更符合 Rust 习惯的高层接口可以在此基础上构建。

该库支持通过 VarStore 管理参数,并配合 SGD、Adam 等优化器进行梯度下降训练,也支持加载 TorchScript JIT 模型。视觉相关工具包括 MNIST 数据加载、ImageNet 图像预处理以及预训练的 ResNet、VGG 模型,并可导入 PyTorch 导出的 safetensors 格式权重。

使用前需要 libtorch v2.13.0,可以使用系统安装的版本、手动下载的版本、本机 Python PyTorch 环境,或通过 download-libtorch 特性自动下载。也支持静态链接。

核心功能

  • 01对 libtorch C++ API 的薄封装,提供张量类型和常用张量运算。
  • 02通过 VarStore 结合 SGD、Adam 等优化器进行自动微分训练。
  • 03支持加载 TorchScript JIT 模型,并导入 safetensors 格式的 PyTorch 权重。
  • 04提供 MNIST 数据加载、ImageNet 图像预处理以及预训练 ResNet、VGG 模型。
  • 05支持使用系统 libtorch、手动安装、本机 Python PyTorch 或自动下载等多种方式配置。

适用场景

  • 在 Rust 中编写或训练深度学习模型,并使用 PyTorch 的底层计算能力。
  • 在 Rust 服务中运行预训练视觉模型或 TorchScript 模型进行推理。
  • 将 PyTorch 模型代码迁移到 Rust,同时保持相同的 libtorch 后端。
  • 基于 libtorch 构建更高层的 Rust 机器学习库。

快速上手

  1. 1

    安装 libtorch v2.13.0(系统级安装,或从 PyTorch 官网下载)

  2. 2

    通过 LIBTORCH 环境变量指定 libtorch 目录

    export LIBTORCH=/path/to/libtorch
  3. 3

    运行示例以验证环境配置

    cargo run --example basics

使用前须知

  • 需要单独安装 libtorch v2.13.0,设置步骤较多。
  • Windows 用户应使用 MSVC 工具链,因为 MinGW 与 PyTorch 存在兼容性问题。
  • 静态链接需要从源码手动编译 libtorch。

标签

常见问题

tch-rs 是什么?
PyTorch C++ API(libtorch)的 Rust 绑定,可用 Rust 构建、训练和运行深度学习模型。 tch-rs 提供 `tch` crate,是对 PyTorch C++ API(libtorch)的薄封装,接口尽量贴近原始 C++ 接口,便于在 Rust 中直接调用张量运算、自动微分和神经网络模块。更符合 Rust 习惯的高层接口可以在此基础上构建。
tch-rs 可以免费使用吗?用的什么许可证?
tch-rs 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
tch-rs 还在维护吗?
半年内有更新。tch-rs 最近一次提交是在 2026年8月23日。
tch-rs 适合用来做什么?
在 Rust 中编写或训练深度学习模型,并使用 PyTorch 的底层计算能力。 在 Rust 服务中运行预训练视觉模型或 TorchScript 模型进行推理。 将 PyTorch 模型代码迁移到 Rust,同时保持相同的 libtorch 后端。 基于 libtorch 构建更高层的 Rust 机器学习库。
tch-rs 怎么安装和运行?
安装 libtorch v2.13.0(系统级安装,或从 PyTorch 官网下载) 通过 LIBTORCH 环境变量指定 libtorch 目录: export LIBTORCH=/path/to/libtorch 运行示例以验证环境配置: cargo run --example basics
在哪里获取 tch-rs?
源代码和安装说明在 GitHub 上:https://github.com/LaurentMazare/tch-rs

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目