Qualcomm AIモデルを動かす
A Hands-On Coding Tutorial on Qualcomm AI Hub Models for Classification, Object Detection, and Hardware-Aware Deployment

Qualcomm AI HubのAIモデルを実際に動かす手順を解説。AIを効率的にデバイスで使う方法が学べ、開発に役立つ。
このチュートリアルでは、Qualcomm AI Hub Models のエンドツーエンドのワークフローを解説します。まず、必要なパッケージをセットアップし、利用可能なモデルコレクションを見つけ、ローカルのPyTorch推論のためにMobileNet-V2をロードします。また、NHWC画像テンソルをモデルが期待するNCHW形式に変換することで、重要な入力形状の問題も処理します。そこから、モデルの内蔵サンプル入力と実際の画像の両方で推論を実行し、上位の予測を検査し、公式のQualcomm AI Hub CLIデモを実行し、YOLOv7物体検出の例でワークフローを拡張します。さらに、APIトークンが利用可能な場合、実際のQualcommデバイスでモデルをコンパイル、プロファイリング、実行するオプションのクラウド-デバイスセクションも含まれています。 import subprocess, sys, os, glob, textwrap, traceback import numpy as np, torch from PIL import Image import matplotlib.pyplot as plt def pip_install(*pkgs): subprocess.run([sys.executable, "-m", "pip", "install", "-q", *pkgs], check=True) pip_install("qai_hub_models") OUT_DIR = "/content/qaihm_out"; os.makedirs(OUT_DIR, exist_ok=True) torch.set_grad_enabled(False) def to_nchw(value): arr = value[0] if isinstance(value, (list, tuple)) else value t = torch.from_numpy(np.asarray(arr, dtype=np.float32)) if t.ndim == 3: t = t.unsqueeze(0) if t.ndim == 4 and t.shape[1] != 3 and t.shape[-1] == 3: t = t.permute(0, 3, 1, 2).contiguous() return t まず、ライブラリをインポートし、Colab内で直接パッケージをインストールするためのヘルパー関数をセットアップします。qai_hub_modelsをインストールし、出力ディレクトリを作成し、推論のみが必要なため勾配追跡を無効にします。また、入力画像テンソルをモデルが期待するチャンネルファースト形式に変換するためのto_nchw()関数も定義します。 import pkgutil, qai_hub_models.models as _m model_ids = sorted(n for _, n, p in pkgutil.iter_modules(_m.__path__) if p and not n.startswith("_")) print(f">>> {len(model_ids)} models available. Fir