Raspberry Pi AI Kit向けのモデル生成が突然出来なくなりました。モデル生成と環境設定に関しては次の記事を参照ください。
– Raspberry Pi AI Kit用に画像認識モデルを作る
– Hailo AIモデル変換環境の構築:Dockerイメージを活用した導入
この手順の中で以下のコマンドを実行するとエラーが出ました。
hailomz optimize --hw-arch hailo8l --har ./yolov10s.har yolov10s
エラーの内容は以下のようなものです。
hailo_model_optimization.acceleras.utils.acceleras_exceptions.NegativeSlopeExponentNonFixable: Quantization failed in layer yolov10s/conv48 due to unsupported required slope. Desired shift is 9.0, but op has only 8 data bits. This error raises when the data or weight range are not balanced. Mostly happens when using random calibration-set/weights, the calibration-set is not normalized properly or batch-normalization was not used during training.
テスト的にepochを小さくして作成したモデルだとエラーしなかったりします。以前作ったモデルを生成し直したら、同じエラーになったりして試行錯誤だけでは今ひとつ発生条件が絞り込めません。
ほぼ意味不明ですがエラーメッセージを検索するといくつかのQAがヒットしました。意味が分からないなりになんとなく使えそうな情報をHAILO CommunityのProblem With Model Optimizationというスレッドに発見しました。
これを参考に /local/workspace/hailo_model_zoo/hailo_model_zoo/cfg/alls/generic/yolov10s.alls というファイルの先頭に以下の一行を追加しました。
quantization_param([conv48, conv59, conv69], force_range_out=[0.0, 1.0])
conv48はエラーメッセージにあったものです。conv59, conv69はyolov10s.allsに元々含まれているものです。
相変わらず、何を直したのかは分かりませんが、これでoptimizeが成功し続いてcompileを行い実行可能なhefモデルファイルが出来ました。
no comment untill now