Repolode
pytorch

pytorch/executorch

PyTorchのオンデバイス推論スタック。エクスポートしたモデルをスマートフォン、ノートPC、ブラウザ、マイクロコントローラーで実行できます。

スター
5,107
フォーク
1,207
未解決の Issue
1,328
最終コミット
8 時間前

これは何?

ExecuTorchはPyTorchモデルをtorch.exportでキャプチャし、対象ハードウェア向けのバックエンド固有の.pteプログラムに変換して、C++、Python、Swift/Objective-C、Kotlin/Java、JavaScriptのAPIから実行します。スマートフォンやノートPCから、組み込みシステムやマイクロコントローラーまで幅広いターゲットに対応します。

ハードウェアアクセラレーションにはパーティショニングを使用します。グラフ内の対応領域は、XNNPACK、Core ML、Vulkan、Qualcomm、Arm Ethos-UなどのCPU、GPU、NPU、DSPバックエンドに委譲し、残りは移植性の高いCPUカーネルで処理します。選択的ビルドを使えば、デプロイに必要なオペレーターとデリゲートだけをリンクしてランタイムを小さくできます。ETDump、ETRecord、数値デバッグツールは、プロファイリングや精度検証に役立ちます。

LLM、音声、画像認識のサンプルに加え、実験的なローカルのOpenAI互換サーバーも含まれています。モデルは共通のエクスポートフローで実行できますが、ターゲットごとにバックエンドの設定と精度・性能の検証が必要です。

主な機能

  • 01torch.exportを使ってPyTorchモデルを.pteプログラムにエクスポートし、オンデバイスで実行できます。
  • 02対応するグラフ領域をXNNPACK、Core ML、Vulkan、Qualcomm、Armなどのバックエンドに委譲できます。
  • 03C++、Python、Swift、Kotlin/Java、JavaScriptのランタイムAPIを提供します。
  • 04選択的ビルドにより、デプロイに必要なオペレーターだけを含められます。
  • 05ETDump、ETRecord、数値デバッグ機能を使って、プロファイリングや精度検証を行えます。
  • 06LLM、音声認識、音声合成、コンピュータービジョンのサンプルを収録しています。

ユースケース

  • サーバーを介さずに、AndroidまたはiOSアプリ内でPyTorchの画像認識モデルや言語モデルを実行する。
  • Arm Cortex-MまたはEthos-Uハードウェアを搭載したマイクロコントローラーやDSPにニューラルネットワークをデプロイする。
  • デスクトップアプリやノートPCアプリにローカルLLMまたは音声モデルを組み込んで配布する。
  • 複数のハードウェアバックエンドで、同じモデルの精度とレイテンシを比較する。

クイックスタート

  1. 1

    最新の安定版 Python パッケージをインストールします(Python 3.11~3.15)

    pip install executorch
  2. 2

    README の Add の例をスクリプトとして保存し、実行してモデルをエクスポートし、XNNPACK 向けに変換して実行します

使う前に知っておきたいこと

  • Core ML、Qualcomm などのアクセラレータを使用するには、それぞれのバックエンド固有の依存関係と、別途エクスポートが必要です。
  • 一部の機能は実験的、または Main/nightly と表記されており、リリース前に変更される場合があります。
  • nightly ビルドには PyTorch nightly の別途インストールが必要です。また、CUDA wheel は Linux のみです。
  • ビルド済みの Python wheel が対応するのは Linux x86-64、Linux AArch64、macOS arm64、Windows x86-64 のみです。それ以外のホストではソースからビルドする必要があります。

トピック

よくある質問

executorch とは?
PyTorchのオンデバイス推論スタック。エクスポートしたモデルをスマートフォン、ノートPC、ブラウザ、マイクロコントローラーで実行できます。 ExecuTorchはPyTorchモデルをtorch.exportでキャプチャし、対象ハードウェア向けのバックエンド固有の.pteプログラムに変換して、C++、Python、Swift/Objective-C、Kotlin/Java、JavaScriptのAPIから実行します。スマートフォンやノートPCから、組み込みシステムやマイクロコントローラーまで幅広いターゲットに対応します。
executorch は無料で使えますか?ライセンスは?
executorch は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
executorch は今もメンテナンスされていますか?
活発にメンテナンス中。executorch の最終コミットは 2026年10月20日 です。
executorch は何に使えますか?
サーバーを介さずに、AndroidまたはiOSアプリ内でPyTorchの画像認識モデルや言語モデルを実行する。 Arm Cortex-MまたはEthos-Uハードウェアを搭載したマイクロコントローラーやDSPにニューラルネットワークをデプロイする。 デスクトップアプリやノートPCアプリにローカルLLMまたは音声モデルを組み込んで配布する。 複数のハードウェアバックエンドで、同じモデルの精度とレイテンシを比較する。
executorch のインストール方法は?
最新の安定版 Python パッケージをインストールします(Python 3.11~3.15): pip install executorch README の Add の例をスクリプトとして保存し、実行してモデルをエクスポートし、XNNPACK 向けに変換して実行します
executorch はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/pytorch/executorch

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

関連プロジェクト