2397295_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2397295_ja-JP

2397295_ja-JP

Facemesh Landmarkモデルptq変換におけるパフォーマンス低下

このリポジトリでは、ptq後にNXPがリリースしたGoogleのFaceMeshモデルを使っていました:
nxp-demo-experience-demos-list/downloads.json at lf-6.12.3_1.0.0 ·NXP-IMX-support/NXP-demo-experienc...
しかしこのモデルは、468のランドマークポイントを持つGoogleの旧FaceMeshモデルに基づいています。

次に、Googleの新しいFaceMeshモデルに移行したいと考えています。これには478のランドマークポイントがあります。これをiMX 95 FRDMボードのNPU上で実行したいと考えています。そこで、これを量子化したかったのです。NXPのeIQ-neutron-sdk-linux-3.1.3を使っていますこのモデルを量子化するために。

この量子化の後、モデルのパフォーマンスは著しく劣化し、実際に使うにはほとんど使えない状態です。

当初はMIN-MAXオプションを使用して量子化していました。そのモデルは使い物にならなかった。次に、パーセンタイルオプションを使用してみたところ、パーセンタイルを95に設定した方がパフォーマンスが向上することがわかりました(これは回帰モデルの出力でしたが)。
しかし、それでも十分な性能は得られていません

1) NXPが古いFaceMesh(468)モデルのptqファイルを作成した際、どのオプションを使っていましたか?MIN-MAX?それともパーセンタイル?

2) 量子化後にパフォーマンスが著しく低下した場合、他に確認すべき事項はありますか?

3) CelebAデータセットでプロファイリングを行い、スクリプトのserialize_image.pyをモデルオプションで使いました。メディアパイプ全体を実行してキャリブレーションデータセットを作成するか、シリアル化スクリプトで変更すべきか

オプション提供

serialize_image.py:
-i //218 x 178 前面向けRGB画像
-<パス/トゥ/calib_bins>
-Fビン
-T float32
-0to1
-256、256
-NHWCレイアウト
-コRGB

TFLITE-Profiler:
--input
--データセット
--出力

TFLITE-クオンタイザ:
--input
--プロファイル
--quantize-inputs=false
--quantize-outputs=false
--量子化-キャリブレーション-方法= //最小最大値またはパーセンタイル

Re: Performance degradation in Facemesh Landmark model ptq conversion

こんにちは@dhilshad
NXPサポートにご連絡いただきありがとうございます!

1) 残念ながら、現時点ではその情報は入手できません。

2) この挙動は想定内です。クオンタイズは展開プロセスの一部に過ぎません。組み込みハードウェア上でモデルを変換・最適化するには、グラフ最適化、演算子マッピング、ハードウェア固有の変換、ランタイム検証など、いくつかの追加ステップが必要です。その結果、モデルがすでに量子化されていても、モデルの挙動や性能は異なることがあります。

新しいデザインや評価には、eIQ Oliveの使用をおすすめします。NXP i.MX プラットフォームでのモデル最適化と展開のためのよりモダンなフレームワークを提供するからです。ワークフローの更新と、現在の機械学習展開シナリオへのサポート強化が含まれています。

詳細については、以下のチュートリアルおよびドキュメントをご参照ください。

https://eiq.nxp.com/learning-hub/tools/olive/index.html

これらのリソースは、i.MX デバイスに機械学習モデルを導入するための推奨ワークフローやベストプラクティスをカバーしています。

よろしくお願いします、
チャビラ

タグ(1)
評価なし
バージョン履歴
最終更新日:
3 時間前
更新者: