命令行介面
Qualcomm® AI Hub 附帶了一個命令行工具,你可以用它來執行以下操作:
列出裝置信息
編譯模型
剖析模型
配置客戶端
可以使用以下命令獲取完整的命令列表及其所有選項:
qai-hub --help
對於每個命令,可以使用以下命令獲取完整的協助資訊:
qai-hub submit-profile-job --help
範例
以下範例是使用 CLI 進行最常見的工作流程:
設備選擇
# List all devices
qai-hub list-devices
# List all devices with Snapdragon 8 Gen 2
qai-hub list-devices --device-attr chipset:qualcomm-snapdragon-8gen2
框架選擇
# List all frameworks
qai-hub list-frameworks
上傳模型
# Upload PyTorch model
qai-hub upload-model --model ./SqueezeNet10.pt
編譯模型
# Compile a PyTorch model for TFLite
qai-hub submit-compile-job --model ./SqueezeNet10.pt --input_specs "{'image': (1, 3, 224, 224)}" --device "Samsung Galaxy S23"
# Compile a previous uploaded PyTorch model for QNN
qai-hub submit-compile-job --model m6wn0xn8j --input_specs "{'image': (1, 3, 224, 224)}" --device "Samsung Galaxy S23" --compile_options "--target_runtime qnn_lib_aarch64_android"
# Clone a previous profile job and block until job completes
qai-hub submit-compile-job --clone j1glw6y8p --wait
剖析模型
# Profile a TensorFlow lite model from disk
qai-hub submit-profile-job --model ./SqueezeNet10.tflite --device "Samsung Galaxy S23"
# Profile a model compiled by a previous job using the model ID and block until job completes
qai-hub submit-profile-job --model mejqyvqry --device "Samsung Galaxy S23" --wait
# Profile a model with profiling options
qai-hub submit-profile-job --model mejqyvqry --device "Samsung Galaxy S23" --profile_options " --compute_unit gpu"
# Clone a previous profile job
qai-hub submit-profile-job --clone jogkwr02g
常見的工作流程組合
# Compile and profile a PyTorch model
qai-hub submit-compile-and-profile-jobs --model ./SqueezeNet10.pt --input_specs "{'image': (1, 3, 224, 224)}" --device "Samsung Galaxy S23"