私はeIQ Toolkitを使って、約6,000枚の画像からなるデータセットで画像分類モデルを訓練しています。目標は 、800KB 未満のTensorFlow Lite(TFLite)モデルを生成し、 MCXN947上で動作させることです。
現在のトレーニング構成は以下の通りです:
モデル:MobileNetV2
アルファ: 0.35
剪定:有効
出力形式: TFLite
問題は、トレーニングの完了にほぼ 24時間 かかることです。最終モデルサイズを800KB未満に抑えつつ、トレーニング時間を1〜2時間程度に短縮できるおすすめの設定や最適化があれば知りたいです。
同じような状況に直面した方はいらっしゃいますか?eIQツールキットには、モデルの精度を大きく損なわずにトレーニング時間を短縮したり、モデルサイズを大きく変えたりするベストプラクティスはありますか?
何かご提案があれば大変ありがたいです。ありがとう!
こんにちは、 @sivamankomb さん。
小規模なMobileNetV2-alpha-0.35の移行学習ジョブで、6,000枚以上の画像を24時間かけて実行することは、CPU上でトレーニングが行われている場合、入力サイズが大きい場合、エポックが多すぎる場合、強い動的拡張がある場合、またはトレーニング中ずっとプルノングやQATを行っている場合を除きます。
以下の点を参照できると思います。
CUDAとcuDNNがインストールされ、使用されていることを確認してください。
Harry_Zhang_0-1783936461198.png
許容できる精度を維持できる最小の入力解像度を使用してください。224×224を使用している場合は、まず128×128を試してみてください。
固定の長期トレーニングランではなく、低いエポックリミットと早期停止から始めましょう。
初期のトレーニングランでは剪定を無効にし、
展開にはINT8 TFLite量子化を使用します。
最初の速度最適化実行ではQATを避ける。
「強化なし」から始めましょう。
具体的な内容についてはeIQ Toolkitユーザーガイドを参照してください
BR
ハリー