以前の記事「Rasbberry Pi AI Kit用に画像認識モデルを作る」に従い、Hailoソフトウェア群をUbuntu環境で再構築し、モデル変換の準備をしようと試みましたが、いくつかの問題に直面し、構築を断念しました。主な問題は、hailo_model_zooの適切なバージョン(dataflow compiler 3.29.0に対応するもの)をインストールできないことでした。当時、GitHubから最新版をクローンしていましたが、タグ指定で過去のバージョンをダウンロードしてもうまくいかず、クローン後に適切なコミットに巻き戻す必要があるようでした。
そこで、手動での構築を試みるよりも、配布されているDockerイメージを利用することにしました。
https://hailo.ai/developer-zone/software-downloads/
Hailo AI Software Suite – Docker のVersion 2024-10を使用しました。最新版は、既に構築済みのRaspberry Pi+AI Kit環境との互換性がありません。
導入に使用したPCは、古いIntel NUCで、メモリは16GBです。OSはUbuntu 22.04.4 LTSにDockerをインストールしています。
ダウンロードしたzipファイルには、Dockerイメージと起動スクリプトが含まれています。このスクリプトを実行することでDockerが起動します(二度目の起動には–resumeオプションが必要です)。
./hailo_ai_sw_suite_docker_run.sh
推奨メモリが32GBであることやGPUがないといった注意書きはありますが、問題なく起動しました。
hailo -h と hailomz -h でプログラムが動作することを確認できました。
その後は、以前の記事とほぼ同じ手順で進めます。
まず、COCOデータベースを導入します。
cd hailo_model_zoo
python hailo_model_zoo/datasets/create_coco_tfrrecord.py val2017
python hailo_model_zoo/datasets/create_coco_tfrrecord.py calib2017
次に、フォルダーの修正が必要です。
cd /local/shared_with_docker/.hailomz/models_files/coco/
ln -s 2023-08-03 2021-06-18
実環境とのデータ連携は、shared_with_dockerフォルダーで行います。
最後に、以下のコマンドを実行するだけで、モデル変換が完了します。
hailomz parse --hw-arch hailo8l --ckpst ./best.onnx yolov10s
hailomz optimize --hw-arch hailo8l --har ./yoolov10s.har yolov10s
hailomz compile yolov10s --hw-arch hailo8l --har ./yoolov10s.har