ViT-INT8
Image Classification
INT8
post
ViT: Image Classification

ViT (Vision Transformer) is a vision model introduced by Google in 2020, based on the Transformer architecture. Unlike traditional convolutional neural networks (CNNs), ViT divides an image into fixed-size patches, and these patches' linear embeddings are treated as a sequence, which is then input into the Transformer. ViT leverages self-attention mechanisms to capture long-range dependencies in the image, simplifying the process by eliminating convolutions. Although Transformers were initially designed for natural language processing tasks, ViT has shown excellent performance on image classification tasks, particularly when trained on large datasets like ImageNet. ViT's scalability allows it to handle larger image datasets and adapt to various vision tasks such as image classification and object detection.

Source model

  • Input shape: 224x224
  • Number of parameters: 82.55M
  • Model size: 330.5M
  • Output shape: 1x1000

Source model repository: ViT

Performance Reference

Device

Backend
Precision
Inference Time
Accuracy Loss
File Size
Model Optimization

When the user has fine-tuned the source model, the model conversion process must be performed again.

Users can refer to either of the following two methods to complete the model conversion:

  • Using AIMO for model conversion: Click Model Conversion Reference in the Performance Reference section on the right to view the conversion steps.

  • Using Qualcomm QNN for model conversion: Please refer to the Qualcomm QNN Documentation.

Model Inference

The model performance benchmarks and example code provided by Model Farm are all implemented based on the APLUX AidLite SDK.

For models in .bin format, you can use either of the following two inference engines to run inference on Qualcomm chips:

Inference using APLUX AidLite: please refer to the APLUX AidLite Developer Documentation

Inference using Qualcomm QNN: Please refer to the Qualcomm QNN Documentation

Inference Example Code

The inference example code is implemented using the AidLite SDK.

Click Model & Code to download the model files and the inference code package. The file structure is as follows:

/model_farm_{model_name}_aidlite
    
    |__ models # folder where model files are stored

    |__ python # aidlite python model inference example

    |__ cpp # aidlite cpp model inference example

    |__ README.md
License
Source Model:BSD-3-CLAUSE
Deployable Model:APLUX-MODEL-FARM-LICENSE
Performance Reference

Device

Backend
Precision
Inference Time
Accuracy Loss
File Size