LaurentMazare/tch-rs

Rust bindings for the C++ api of PyTorch.

何を解決するか

tch-rs は、PyTorch C++ API (libtorch) の Rust バインディングを提供し、開発者が PyTorch の強力なテンソル演算、自動微分、およびニューラルネットワークモジュールを Rust プログラミング言語内で直接使用できるようにします。これにより、Rust の安全性と並行性の特徴を活用しながら、高性能な AI モデルとアプリケーションの作成が可能になります。

仕組み

このプロジェクトは、C++ libtorch ライブラリの薄いラッパーを提供します。ユーザーは、元の C++ API に近い Rust インターフェースを通じて、PyTorch テンソルやニューラルネットワークコンポーネントとやり取りすることができます。このクレートは、システム全体の libtorch インストール、Python の PyTorch インストール、または libtorch のビルド済みバイナリを自動的にダウンロードするようにリンクできます。

対象者

モデルを一からトレーニングする場合、学習済み重み(SafeTensors のサポートを含む)で推論を実行する場合、または TorchScript JIT を介してモデルをデプロイする場合など、Rust で PyTorch のディープラーニング機能を活用したい開発者。

ハイライト

  • PyTorch 統合: テンソル演算と自動微分のための libtorch への直接バインディング。
  • ニューラルネットワーク API: nn::seq および nn::VarStore を使用してアーキテクチャを構築するためのツール。
  • 柔軟なリンキング: システム全体の libtorch、Python ベース、または libtorch の自動バイナリダウンロードをサポート。
  • 重みの読み込み: SafeTensors フォーマットを使用して PyTorch から学習済み重みをインポートする機能。
  • 幅広いアプリケーション例: MNIST、ResNet、文字レベルの RNN、および簡略化された GPT の実装を含みます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト