Talmaj/onnx2pytorch
Transform ONNX model to PyTorch representation
何を解決するか
ONNX形式のニューラルネットワークモデルをPyTorchに変換できるようにします。これにより、開発者は元々ONNXにエクスポートされたモデルに対して、PyTorchのバックエンドとその豊富なニューラルネットワーク操作機能を活用できます。
動作方法
このライブラリは、読み込まれたONNXモデルを入力として受け取り、それをPyTorchモデルに変換する ConvertModel クラスを提供します。ONNX演算子をそのPyTorch同等物にマッピングし、PyTorchで表現できない演算子や属性はエラーを発生させるように設計されています。これにより、誤った結果が生成されるのを防ぎます。
対象ユーザー
ONNX形式のモデルを持ち、それらを推論やさらなる操作のためにPyTorchエコシステムに移行したい開発者や研究者です。
特徴
- 広範なモデル対応: MobileNet、ResNet、BERT-Squad、YOLOv4など、さまざまなアーキテクチャを正常に変換できます。
- 差分テスト:
onnxruntimeとONNXのReferenceEvaluatorを用いて、異なるスキーマリビジョンで演算子をテストしています。 - デバッグモード: PyTorch版と元のONNXランタイムの活性化値を比較するためのデバッグフラグを備え、差異を特定できます。
- 推論対応: バッチサイズが1より大きい場合も対応しており、BatchNormレイヤーでは推論モードを使用します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト