使用框架
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)
框架也可以使用 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 版本,且該版本與輸入模型相容,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 版本。