Command Line Interface
Qualcomm® AI Hub comes installed with a command line tool which you can use to do the following:
list device information
compile models
profile models
configure the client
The full list of commands, and all their options can be obtained using:
qai-hub --help
And for each command, a full expanded help can be obtained using:
qai-hub submit-profile-job --help
Examples
Here are a few examples of using the CLI for the most popular workflows:
Device selection
# 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
Compiling models
# 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 PyTorch model for QNN
qai-hub submit-compile-job --model ./SqueezeNet10.pt --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
Profiling models
# 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
Popular combined workflows
# 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"