AI News HubLIVE
站内改写2 分で読了

Qualcomm AI Hubモデルを使用した分類、物体検出、ハードウェア対応デプロイメントのハンズオンコーディングチュートリアル

このチュートリアルでは、Qualcomm AI Hubモデルのエンドツーエンドのワークフローを提供し、セットアップ、MobileNet-V2とYOLOv7を使ったローカル推論、クラウドデバイスパイプラインによるコンパイルとデプロイメントをカバーします。

ソースMarkTechPost著者: Sana Hassan

このチュートリアルでは、Google Colabを使用してQualcomm AI Hubモデルをローカル推論からクラウドデバイス展開まで一貫して行うワークフローを詳しく解説します。まず、実行環境を構築します。pipでqai_hub_modelsパッケージをインストールし、出力ディレクトリを作成します。Qualcomm AI Hubモデルはチャネルファースト(NCHW)形式の入力テンソルを期待するため、多くの画像処理ライブラリが使用するチャネルラスト(NHWC)形式から変換するto_nchw()関数を定義します。この関数は3次元または4次元のテンソルを自動的に処理し、チャネル順序を調整します。

次に、Qualcomm AI Hubで利用可能なモデルコレクションを確認します。関連モジュールをインポートしてモデルIDのリストを取得し、プラットフォームの対応範囲を把握します。MobileNet-V2を例に、事前学習済みモデルを読み込み、評価モードに設定します。モデルのget_input_spec()メソッドで入力仕様を取得し、最初の入力名を特定します。また、ImageNetクラスラベルを準備し、モデルの出力ロジットから確率が高い上位5つのクラスを抽出するtop5()関数を作成します。

最初の推論はモデルに組み込まれているサンプル入力を使って行います。サンプル入力をto_nchw()で形状変換後、MobileNet-V2に与え、上位5つの予測結果を出力します。続いて、実際の犬の画像をインターネットからダウンロードします。torchvisionのtransformsを使用し、リサイズ(256ピクセル)、センタークロップ(224ピクセル)、テンソル変換の前処理を施します。処理済み画像をモデルに入力し、再び上位5つの予測を出力。画像と最も確率の高いラベルを表示することで、モデル出力と入力画像の対応を視覚的に確認します。

より複雑なシナリオを検証するため、Qualcomm AI Hubの公式コマンドラインデモを実行するrun_demo()関数をラップします。まずMobileNet-V2のデモを実行し、続いてYOLOv7の追加パッケージをインストールして物体検出デモを実行します。YOLOv7デモは検出結果を含む画像を生成します。生成された最新の画像ファイルを検索して表示し、検出結果を確認します。

本チュートリアルには、APIトークンが設定されている場合にのみ動作するオプションのクラウドデバイスセクションも含まれています。qai_hubライブラリを介してQualcommのクラウドサービスに接続し、利用可能なデバイス(例:Samsung Galaxy S24)を取得します。torch.jit.traceを使用してPyTorchモデルをTorchScript形式にトレースし、コンパイルジョブを送信してTFLite形式に変換します。コンパイル後、ターゲットデバイス上でプロファイリングジョブと推論ジョブを実行し、デバイスからの推論出力をダウンロードします。最後に、デバイス出力を解析して上位5つの予測クラスを表示し、コンパイル済みTFLiteモデルをローカルディレクトリに保存します。

このチュートリアルを通じて、ローカル実験からハードウェアを意識した展開への完全なパスを学びます。Qualcomm AI Hubは、実際のQualcommデバイス上でAIモデルを効率的に実行および最適化するための明確な道筋を提供します。環境設定、モデル読み込み、入力前処理、ローカル推論、公式デモの実行、クラウドコンパイルと展開までを網羅し、Colabから実デバイスへのシームレスな移行を実現します。注意:クラウド部分を使用するには、事前にAPIトークンを設定する必要があります。workbench.aihub.qualcomm.comからトークンを取得し、qai-hub configure --api_token YOUR_TOKEN で設定してください。完全なコードとノートブックは提供されたリンクから入手できます。MarkTechPostでさらにAI関連コンテンツをチェックしてください。