使用框架

Qualcomm® AI Hub 支援在編譯、效能分析與推論工作中使用多個 Qualcomm® AI Runtime 版本。

查詢框架

若要以程式方式取得所有支援的 Qualcomm® AI Runtime 版本清單,請使用 get_frameworks()

import qai_hub as hub

client = hub.Client()
supported_frameworks = client.get_frameworks()
print(supported_frameworks)

請注意,這也可以通過 CLI 使用

qai-hub list-frameworks

每個框架有兩個特殊標籤:

  • default:指的是在 Qualcomm® AI Hub Workbench 中使用的框架預設版本。

  • latest:指的是在 Qualcomm® AI Hub Workbench 中使用的框架最新釋出版本。

使用框架版本提交作業

提交編譯、效能分析或推論工作時,可指定 get_frameworks() 中所列出的 api_version,以選擇特定的 framework 版本:

import qai_hub as hub

client = hub.Client()
compile_job = client.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)

也可以使用 defaultlatest 標籤來識別這些框架。以下程式碼範例使用目前可用的最新 Qualcomm® AI Runtime SDK 版本。:

import qai_hub as hub

client = hub.Client()
compile_job = client.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 Runtime SDK 版本。:

import qai_hub as hub

client = hub.Client()
compile_job = client.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 Hub Workbench 會使用該版本;如果請求的版本與輸入模型不相容,Qualcomm® AI Hub Workbench 會回傳錯誤。

當提交設定檔或推論工作時,若未明確指定 Qualcomm® AI Runtime 版本,Qualcomm® AI Hub Workbench 會根據輸入模型自動選擇相容的版本。

如果輸入模型不是 Qualcomm® AI Engine Direct 資產(也就是 TensorFlow Lite 模型或標準的 ONNX 模型),Qualcomm® AI Hub Workbench 會一律選擇預設的 Qualcomm® AI Runtime 版本。

如果輸入模型是 DLC 或 context binary 模型 Qualcomm® AI Engine Direct 資產,Qualcomm® AI Hub Workbench 會從該資產查詢 Qualcomm® AI Runtime 版本,以選擇相容的 Qualcomm® AI Runtime 版本。若預設的 Qualcomm® AI Runtime 版本與模型相容,則會使用預設版本;若預設版本與模型不相容,則會使用最新的 Qualcomm® AI Runtime 版本。若沒有可用的相容版本,則會回傳錯誤。