命令行介面

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"