# Integrate an AI Hub model in an application This section describes how to use an AI Hub model in a reference application. This example uses an image classification model from AI Hub. Note Preprocessing and postprocessing for most of the publicly available image classification models is similar and is likely supported by the `qtimlpostprocess` plugin. Qualcomm AI Hub provides optimized AI models for Qualcomm devices, allowing them to operate on CPU, GPU, or NPU using either LiteRT (previously Tensorflow Lite) or Qualcomm® AI Engine Direct. This example explains how to use a [inception_v3](https://aihub.qualcomm.com/iot/models/inception_v3) model from AI Hub and integrate the model into the `gst-ai-classification` reference application. | **S.No** | **Reference Application** | **Verified AI Hub model** | **Label file** | | --- | --- | --- | --- | | 1 | gst-ai-classification | GoogLeNet | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 2 | gst-ai-classification | inception\_v3 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 3 | gst-ai-classification | mobilenet-v2 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 4 | gst-ai-classification | MobileNet-v3-Large | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 5 | gst-ai-classification | ResNet101 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 6 | gst-ai-classification | SqueezeNet-1\_1 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 7 | gst-ai-classification | ResNet18 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 8 | gst-ai-classification | ResNeXt50 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 9 | gst-ai-classification | WideResNet50 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 10 | gst-ai-classification | Shufflenet-v2 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 11 | gst-ai-classification | ResNeXt101 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/classification.json) | | 12 | gst-ai-segmentation | deeplabv3\_plus\_mobilenet | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/deeplabv3_resnet50.json) | | 13 | gst-ai-segmentation | fcn\_resnet50[\[1\]](https://docs.qualcomm.com/doc/80-80022-15B/topic/integrate-ai-hub-models.html#f1) | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/deeplabv3_resnet50.json) | | 14 | gst-ai-segmentation | ffnet\_40s | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/deeplabv3_resnet50.json) | | 15 | gst-ai-segmentation | ffnet\_54s | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/deeplabv3_resnet50.json) | | 16 | gst-ai-segmentation | ffnet\_78s | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/deeplabv3_resnet50.json) | | 17 | gst-ai-object-detection | Yolo-v7 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/yolox.json) | | 18 | gst-ai-object-detection | YOLOv8-Detection | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/yolox.json) | | 19 | gst-ai-superresolution | QuickSRNetLarge | Not applicable | | 20 | gst-ai-superresolution | QuickSRNetMedium | Not applicable | | 21 | gst-ai-superresolution | QuickSRNetSmall | Not applicable | | 22 | gst-ai-superresolution | XLSR | Not applicable | | 23 | gst-ai-monodepth | Midas-V2 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/monodepth.json) | | 24 | gst-ai-pose-detection | HRNetPose |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [[1](https://docs.qualcomm.com/doc/80-80022-15B/topic/integrate-ai-hub-models.html#id1)] FCN-Resnet50 Model is not supported on QCS6490. Note Some models only have LiteRT or Qualcomm AI Engine Direct SDK models available with AI Hub. However, AI Hub frequently updates its library to include more models and enhance existing ones. Prerequisites 1. Download [AI Hub models](https://aihub.qualcomm.com/iot/models/inception_v3). 1. Search for the model in the search bar and select the model. 2. Select the runtime, precision, and device for which you want to download the model. - Runtime: *TFLite* - Precision: *w8a8* - Device: - Qualcomm Dragonwing™ RB3 Gen 2: *Qualcomm QCS6490* - Qualcomm Dragonwing™ IQ-9075: *Qualcomm QCS9075* 2. Copy the label file that matches the model to the device. The label and media files are available for download at the following locations: - [Label files](https://github.com/quic/sample-apps-for-qualcomm-linux/tree/main/qualcomm-linux/artifacts/json_labels). - [Media files](https://github.com/quic/sample-apps-for-qualcomm-linux/tree/main/qualcomm-linux/artifacts/videos) Note The following sections use placeholder model names for models downloaded through AI Hub. Update the model name in the commands with the appropriate model name as downloaded through AI Hub. 3. [Download the necessary scripts and artifacts](https://docs.qualcomm.com/doc/80-80022-15B/topic/classify-objects-with-default-model.html#download-model-files). Note You can skip this step if you have already completed Steps 1 and 2. ## Modify the configuration 1. On the host device, run the following command: export USER=root Copy to clipboard 2. Copy the model to the device. scp inception_v3-inception-v3-w8a8.tflite $USER@