# 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/artifacts/json_labels/classification.json) | | 2 | gst-ai-classification | inception\_v3 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 3 | gst-ai-classification | mobilenet-v2 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 4 | gst-ai-classification | MobileNet-v3-Large | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 5 | gst-ai-classification | ResNet101 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 6 | gst-ai-classification | SqueezeNet-1\_1 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 7 | gst-ai-classification | ResNet18 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 8 | gst-ai-classification | ResNeXt50 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 9 | gst-ai-classification | WideResNet50 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 10 | gst-ai-classification | Shufflenet-v2 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 11 | gst-ai-classification | ResNeXt101 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/classification.json) | | 12 | gst-ai-segmentation | deeplabv3\_plus\_mobilenet | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/deeplabv3_resnet50.json) | | 13 | gst-ai-segmentation | fcn\_resnet50 | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/deeplabv3_resnet50.json) | | 14 | gst-ai-segmentation | ffnet\_40s | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/deeplabv3_resnet50.json) | | 15 | gst-ai-segmentation | ffnet\_54s | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/deeplabv3_resnet50.json) | | 16 | gst-ai-segmentation | ffnet\_78s | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/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/artifacts/json_labels/yolox.json) | | 18 | gst-ai-object-detection | YOLOv8-Detection | [Labels](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/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/artifacts/json_labels/monodepth.json) | | 24 | gst-ai-pose-detection | HRNetPose |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. > > > Label files are available for download at the provided > [links](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/artifacts/json_labels/). 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. ## Modify the configuration 1. Copy the model to the device. scp inception_v3-inception-v3-w8a8.tflite root@