pnnx/pnnx

PyTorch Neural Network eXchange

解決する課題

PNNX (PyTorch Neural Network eXchange) は、PyTorchモデルの相互運用性の課題に対処します。PyTorchモデルを最適化し、効率的な推論のために様々な形式へエクスポートすることを可能にするオープン標準とモデル形式を提供し、拡張パッケージへの依存を減らし、トレーニングからデプロイへの移行を簡素化します。

仕組み

PNNXは、PyTorchと厳密に一致する計算グラフとハイレベルオペレータを定義します。PyTorchモデル(TorchScriptまたはONNX経由)やTNNなどの他の形式を受け取り、最適化されたPNNX形式に変換できます。そこから、デプロイ用にポータブルなPNNXファイル、ONNX-zero、またはncnnモデルとしてモデルをエクスポートできます。

対象者

異なるハードウェアや推論エンジンへのデプロイに向けてPyTorchモデルを最適化する必要がある開発者やMLエンジニア、特にncnnフレームワークをターゲットとする方に適しています。

ハイライト

  • マルチフォーマット対応: TorchScript、ONNX、TNNファイルを最適化されたモデルに変換します。
  • グラフ最適化: 推論に特化してモデルを洗練させるための複数の最適化レベルを提供します。
  • ポータブルバイナリ: CUDAやPyTorchのランタイム環境を必要としない、Windows、Linux、macOS用のスタンドアロンバイナリパッケージを提供します。
  • 柔軟なエクスポート: PNNXグラフ定義、重み、PyTorch/pyncnn推論スクリプトを含む複数の出力ファイルを生成します。

関連

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