※本記事はHailo社 AI Software Suite 2024-04をもとにして記載しています
Hailo開発フロー
AI開発としてはAIモデル自体の開発(グラフ構成、学習)がありますが、基本的にHailoはその部分には関与しません。開発されたAIモデルをいかに効率よくHailoのハードウェアで実行するかが、肝になりますのでHailoの開発フローとしてはAIモデルを受取ったところから始まります。概ね以下のような流れでHailo社提供のツールを使って開発することになります。

上記のようにAI開発フレームワーク上で学習されたモデルをONNXファイルへ変換しAI Software Suiteへ渡します。そのONNXファイルをAI Software Suite(実際にはDataflow Compiler)がHailoに最適化されたhefファイル (Hailo Executable binary File) に変換します。そのhefファイルを組込み機器側にコピーしHailoRTのAPIを使用して推論を実行するという流れになります。
なお、AIモデルを一から開発するのではなくPublicなモデルを使用し再学習する場合も多いかと思いますが、Hailo model zooにはHailoで実績のあるPublicモデルが公開されていますのでこちらから選択することもできます。
今回は主にAI Software Suiteの導入方法と使い方を以下の順番に沿って説明しています。各リンクをクリックし詳細をご確認ください。
①AI Software Suiteに必要なハードウェアとインストール
②Dataflow Compilerの使い方(hefファイルの作り方)
参考としてHailoが提供している各ツールの説明を下記に記載しておきます。
Hailoツール概要
Hailo提供のツールは以下のような構成となっています。
左側 (Model Build Environment) がhefファイルを作るための開発ツール、右側 (Runtime Environment) が推論環境となります。
AI Software Suiteは、その中の「Hailo model zoo」「Hailo Dataflow Compiler」「HailoRT」「Tappas」を統合したツールとなっております。

Hailo Model Zoo
各Hailo社の製品をターゲットにコンパイルしたPublic modelのリポジトリーとなります。
GitHubにて公開されており、以下がリンクになります。
https://github.com/hailo-ai/hailo_model_zoo
特に使用するモデルが決まっていない方はこちらから選んでいただくことで、コンパイルエラーもなく性能/精度も担保された状態でお試しいただくことが可能です。
またhailomzコマンドにてDataflow Compilerの各種機能をトレースいただくことができ、一部のモデルでは再トレーニングにも対応しています。
Hailo Dataflow Compiler
ONNXファイルなどから、Hailoの実行形式であるhefファイルへの変換をおこなうツールです。
さまざまな最適化/量子化オプションによりパフォーマンス/精度の向上をおこなうことが可能です。またProfiler Reportにてfpsやレイテンシーなどをすぐに確認することも可能です。
HailoRT
Hailoのハードウェアを実装した推論機器(組込み機器)に入れていただくことで、実際のHailoデバイスとのやり取りを実施するランタイムツールになります。
CPUはx86系/ARM系 (aarch64)、OSはLinux/Windows対応と幅広い組込み機器に対応できます。
こちらはGitHubに公開されているオープンソースとなっています。
Tappas
事前学習済みのPublic modelを使ったEtoEのデモアプリケーションとなります。
Gstreamerベースで作成されており、モデルの置き換えなどカスタマイズ可能です。
Tappasもオープンソースとして公開されています。
https://github.com/hailo-ai/tappas
お問い合わせ
本記事に関してご質問がありましたら以下より問い合わせください。
Hailo メーカー情報Topへ
Hailo メーカー情報Topページへ戻りたい方は、以下をクリックください。