使用框架

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

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

  • 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)

框架也可以使用 defaultlatest 標籤來識別。以下代碼示例使用最新可用版本的 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 版本,且該版本與輸入模型相容,AI Hub 將使用該版本;若不相容,則會返回錯誤。

若未明確指定 Qualcomm® AI Runtime 版本,AI Hub 將根據輸入模型自動選擇相容的版本。

若輸入模型不是 Qualcomm® AI Engine Direct 資產(例如 TensorFlow Lite 模型或標準 ONNX 模型),AI Hub 將一律選擇預設的 Qualcomm® AI Engine Direct 版本。

若輸入模型是 DLC 或 context binary 類型的 Qualcomm® AI Engine Direct 資產,AI Hub 將從該資產中查詢 Qualcomm® AI Engine Direct 版本,以選擇相容的版本。若預設版本相容,則使用該版本;若不相容,則使用最新的相容版本。若無任何相容版本,則返回錯誤。若輸入模型是模型庫類型的 Qualcomm® AI Engine Direct 資產,AI Hub 將選擇預設版本,若不相容則返回錯誤。建議在分析模型庫類型的 Qualcomm® AI Engine Direct 資產時,務必明確指定 qairt 版本。