ONNX、TensorFlow、PyTorch、Core MLなど、多くの形式に対応したニューラルネットワーク、ディープラーニング、機械学習モデルのビューア。
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
libtorch v2.13.0 をインストールします(システム全体にインストールするか、PyTorch のウェブサイトからダウンロードします)
- 2
LIBTORCH 変数で libtorch ディレクトリを指定し、ビルド先に設定します
export LIBTORCH=/path/to/libtorch - 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 の数値は毎日更新されます。
関連プロジェクト
Java APIでモデルの構築、学習、実行ができる、特定のエンジンに依存しないJava向け深層学習フレームワーク。
TNT(torchtnt)は、PyTorchモデル向けの軽量な学習ツール・ユーティリティライブラリです。
PyTorch関連のライブラリ、モデル、実装、チュートリアル、論文をまとめたGitHub上の厳選リンク集。
CUDA、ROCm、Metal、Vulkan、WebGPU、CPUバックエンドでの学習と推論に対応した、Rust製テンソルライブラリ兼ディープラーニングフレームワーク。
機械学習モデルの構築からデプロイまでを支える、Python APIとC++ APIを備えたオープンソースのエンドツーエンドプラットフォーム。