Developing With Vitis AI API_0 - 1.1 English

Vitis AI Library User Guide (UG1354)

Document ID
Release Date
1.1 English
  1. Install the cross-compilation system on the host side, refer to Installation.
  2. Download the vitis_ai_model_ZCU102_2019.2-r1.1.0.deb packet, and copy it to the board via scp.
  3. Install the Xilinx Model Package on the target side.
    #dpkg -i vitis_ai_model_ZCU102_2019.2-r1.1.0.deb
    After the installation, the models can be found in the /usr/share/vitis_ai_library/models directory on the target side.
    Note: You do not need to install the Xilinx model packet if they want to use their own model.
  4. Git clone the corresponding AI Library from
  5. Create a folder under your workspace, using classification as an example.
    $mkdir classification
  6. Create the demo_classification.cpp source file. The main flow is shown below. See ~/Vitis-AI/Vitis-AI-Library/demo/classification/demo_classification.cpp for a complete code example.
    Figure 1. Main program Flow Chart
  7. Create a file as shown below, or copy one from the AI Library's demo and modify it.
    $CXX -std=c++11 -O3 -I. -o demo_classification demo_classification.cpp -lopencv_core -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_imgcodecs -lopencv_highgui -lglog -lvitis_ai_library-dpu_task -lvitis_ai_library-model_config -lvart-runner
  8. Cross compile the program.
    $sh -x
  9. Copy the executable program to the target board via scp.
    $scp demo_classification root@IP_OF_BOARD:~/
  10. Execute the program on the target board. Before running the program, make sure the target board has the AI Library installed, and prepare the images you want to test.
    #./demo_classification resnet50 input_image.jpg
  • demo_classification.cpp uses user-defined pre-processing parameter as input.
  • demo_classification.cpp uses user post-processing code. And if you want to use the AI Library's post-processing library, please check How to Using the AI Library's Post-Processing Library