フレームワークの使用
Qualcomm® AI Hub は、コンパイル、プロファイル、および推論ジョブに対して複数の Qualcomm® AI Engine Direct バージョンの使用をサポートしています。
フレームワークの問い合わせ
すべてのサポートされている Qualcomm® AI Engine Direct バージョンのリストをプログラムで取得するには、get_frameworks()
を使用します。
import qai_hub as hub
supported_frameworks = hub.get_frameworks()
print(supported_frameworks)
これはCLIを用いても利用可能です
qai-hub list-frameworks
各フレームワークには2つの特別なタグがあります:
default: AI Hubで使用されるフレームワークのデフォルトバージョンを指します。
latest: AI Hubで使用されるフレームワークの最新リリースバージョンを指します。
フレームワークバージョンを使用してジョブを提出する
コンパイル、プロファイル、または推論ジョブは、get_frameworks()
にリストされている api_version で識別された特定のフレームワークバージョンで提出できます
import qai_hub as hub
compile_job = hub.submit_compile_job(
model="mobilenet_v2.onnx",
device=hub.Device("Samsung Galaxy S23 (Family)"),
target_runime="qnn_context_binary",
options="--qairt_version 2.31"
)
print(compile_job)
フレームワークは default または latest のタグを使用して識別することもできます。次のコードサンプルは、Qualcomm® AI Engine Direct フレームワークの最新の利用可能なバージョンを使用します
import qai_hub as hub
compile_job = hub.submit_compile_job(
model="mobilenet_v2.onnx",
device=hub.Device("Samsung Galaxy S23 (Family)"),
target_runime="qnn_context_binary",
options="--qairt_version latest"
)
print(compile_job)
次のコードサンプルは、Qualcomm® AI Engine Direct フレームワークのデフォルト(最も安定した)バージョンを使用します。
import qai_hub as hub
compile_job = hub.submit_compile_job(
model="mobilenet_v2.onnx",
device=hub.Device("Samsung Galaxy S23 (Family)"),
target_runime="qnn_context_binary",
options="--qairt_version default"
)
print(compile_job)
バージョン選択
明示的に Qualcomm® AI Runtime バージョンを指定してプロファイルまたは推論ジョブを提出する場合、入力モデルと互換性があればそのバージョンが使用されます。互換性がない場合はエラーが返されます。
Qualcomm® AI Runtime バージョンを明示的に指定せずにプロファイルまたは推論ジョブを提出する場合、AI Hub は入力モデルに基づいて自動的に互換性のあるバージョンを選択します。
入力モデルが Qualcomm® AI Engine Direct アセットでない場合(例:TensorFlow Lite モデルや標準的な ONNX モデル)、AI Hub は常にデフォルトの Qualcomm® AI Engine Direct バージョンを選択します。
入力モデルが DLC またはコンテキストバイナリモデルの Qualcomm® AI Engine Direct アセットである場合、AI Hub はアセットから Qualcomm® AI Engine Direct バージョンを取得し、互換性のあるバージョンを選択します。デフォルトバージョンが互換性を持つ場合はそれを使用し、そうでない場合は最新の互換バージョンが使用されます。互換性のあるバージョンが存在しない場合はエラーが返されます。入力モデルがモデルライブラリの Qualcomm® AI Engine Direct アセットである場合、AI Hub はデフォルトバージョンを選択し、それが互換性を持たない場合はエラーが返されます。モデルライブラリの Qualcomm® AI Engine Direct アセットをプロファイリングする際は、常に明示的に qairt バージョンを指定することを推奨します。