PINTO0309/PINTO_model_zoo

A repository for storing models that have been inter-converted between various frameworks. Supported frameworks are TensorFlow, PyTorch, ONNX, OpenVINO, TFJS, TFTRT, TensorFlowLite (Float32/16/INT8), EdgeTPU, CoreML.

PINTO_model_zoo – コミュニティ主導のモデルハブ

概要

  • 多数の変換済みディープラーニングモデルを格納した公開 GitHub リポジトリです。モデルは TensorFlow、TensorFlow Lite、PyTorch、ONNX、OpenVINO、CoreML、TensorFlow.js、TensorFlow-TRT、EdgeTPU など、多くのデプロイ形式で提供されており、開発者はターゲットのハードウェアやフレームワークに最適なモデルを選択できます。

重要性

  • モデルを学習フレームワーク(PyTorchなど)からエッジデバイス用フォーマット(Coral Edge TPU用の TensorFlow Lite INT8など)に移行するには、通常、一連の変換手順と複雑な量子化設定が必要です。このリポジトリは、変換済みの成果物と元のライセンス情報をあらかじめ提供することで、その手間を省きます。
  • また、各モデルで利用可能な量子化スキーム(weight-only、dynamic-range、full-integer、float-16、Edge-TPU)や、それらを使用できる推論エンジンについても文書化されています。

内容

  • 階層的なフォルダ構造 – 各モデルは独自のサブディレクトリ(例: 004_efficientnet、018_EfficientDet)に格納されています。中には各種ファイル(.tflite、.onnx、.xml/.bin、.mlmodel など)と、元のモデルのライセンスを反映した LICENSE ファイルが含まれています。
  • README 内の巨大なテーブル – すべてのモデル、そのタイプ(画像分類、2-D 物体検出など)、利用可能なフォーマット(FP32、FP16、INT8 など)が一覧表示されています。アイコン(⚫)は存在を示します。
  • 作者の記事やツールへのリンク – README には、量子化技術に関するブログ記事、変換スクリプト(openvino2tensorflow、tflite2tensorflow、onnx2tf など)、ONNX 操作用ユーティリティ(サイズ縮小、ノード削除、モデル結合)へのリンクが記載されています。

一般的なワークフロー

  1. モデルを選択 – 例えば、Raspberry Pi 用の軽量な顔認識ネットワークが必要な場合、テーブルから 194_face_recognizer_fast を探します。
  2. フォーマットを選択 – Pi で TensorFlow Lite を実行する場合、*.tflite ファイルをダウンロードします(速度が必要な場合は FP16 または INT8 を選択)。
  3. ライセンスを確認 – フォルダ内の LICENSE ファイルを開き、元のモデルの利用規約がプロジェクトと互換性があることを確認します。
  4. 推論を実行 – リポジトリには推論コードは含まれていませんが、必要に応じて標準の TensorFlow Lite インタープリタや OpenVINO ランタイムを使用できます。

制限事項

  • このリポジトリにはサンプル推論スクリプトは含まれていません。作者はこれに関する貢献を積極的に歓迎しています。
  • 一部のモデル(MobileNetV3 バックボーン、フル整数量子化など)は、2020 年初頭の時点で正しい結果を返さないことが指摘されています。
  • 量子化の品質はモデルによって異なるため、特定のハードウェアに合わせて微調整や再量子化が必要になる場合があります。

メンテナンス

  • 主なメンテナーは GitHub ユーザーの PINTO0309 です。貢献は歓迎されており、コントリビューターバッジがコミュニティの活動を示しています。

結論

  • PINTO_model_zoo は、幅広いエッジおよびクラウドランタイムでディープラーニングモデルをデプロイする必要があるエンジニアにとって、非常に実用的なリソースです。フォーマット変換や量子化の時間を節約し、周辺アプリケーションの構築に集中できるようになります。

関連

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