Repolode
LaurentMazare

LaurentMazare/tch-rs

PyTorch(libtorch)の C++ API を Rust から呼び出せるようにするバインディングで、Rust コードからディープラーニングモデルの構築、学習、実行ができます。

スター
5,517
フォーク
463
未解決の Issue
276
最終コミット
3 か月前

これは何?

tch-rs は、C++ 版 PyTorch API(libtorch)を薄くラップした `tch` クレートを提供します。元の C++ インターフェースに近い形を保っているため、Rust からテンソル演算、自動微分、ニューラルネットワークモジュールを直接呼び出せます。より Rust らしい高レベル API は、このクレートの上に構築することもできます。

このクレートでは、テンソルの作成と四則演算、VarStore と SGD・Adam などのオプティマイザを使った勾配ベースの学習、TorchScript JIT モデルの読み込みに対応しています。また、MNIST の読み込み、ImageNet の前処理、事前学習済みの ResNet・VGG モデルといったビジョン向けのユーティリティも含まれており、PyTorch から safetensors 形式でエクスポートした重みを取り込むこともできます。

このクレートは libtorch v2.13.0 を必要とします。libtorch はシステムにインストールされたもの、手動でダウンロードしたもの、ローカルの Python PyTorch 環境のもの、または download-libtorch フィーチャーによる自動取得を利用できます。静的リンクにも対応しています。

主な機能

  • 01テンソル型と一般的なテンソル演算を備えた、libtorch C++ API の薄いラッパー。
  • 02VarStore を介して SGD や Adam などのオプティマイザと組み合わせて使える自動微分。
  • 03TorchScript JIT モデルの読み込みと、safetensors 形式の PyTorch 重みの取り込み。
  • 04MNIST の読み込み、ImageNet の前処理、事前学習済みの ResNet・VGG モデルを含むビジョン向けユーティリティ。
  • 05システムの libtorch、手動インストール、Python PyTorch、自動ダウンロードから選べるビルドオプション。

ユースケース

  • PyTorch のカーネルを活用しつつ、Rust でディープラーニングモデルを書いたり学習させたりする。
  • Rust 製のサービスから、事前学習済みのビジョンモデルや TorchScript モデルで推論を実行する。
  • 同じ libtorch バックエンドを維持したまま、PyTorch のモデルコードを Rust に移植する。
  • 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 を別途インストールする必要があるため、セットアップの手間が増えます。
  • MinGW には PyTorch との互換性の問題があるため、Windows ユーザーは MSVC ツールチェーンを使用してください。
  • 静的リンクを行うには、libtorch をソースから手動でビルドする必要があります。

トピック

よくある質問

tch-rs とは?
PyTorch(libtorch)の C++ API を Rust から呼び出せるようにするバインディングで、Rust コードからディープラーニングモデルの構築、学習、実行ができます。 tch-rs は、C++ 版 PyTorch API(libtorch)を薄くラップした `tch` クレートを提供します。元の C++ インターフェースに近い形を保っているため、Rust からテンソル演算、自動微分、ニューラルネットワークモジュールを直接呼び出せます。より Rust らしい高レベル API は、このクレートの上に構築することもできます。
tch-rs は無料で使えますか?ライセンスは?
tch-rs は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
tch-rs は今もメンテナンスされていますか?
半年以内に更新あり。tch-rs の最終コミットは 2026年8月23日 です。
tch-rs は何に使えますか?
PyTorch のカーネルを活用しつつ、Rust でディープラーニングモデルを書いたり学習させたりする。 Rust 製のサービスから、事前学習済みのビジョンモデルや TorchScript モデルで推論を実行する。 同じ libtorch バックエンドを維持したまま、PyTorch のモデルコードを Rust に移植する。 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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト