- Install the cross-compilation system on the host side, refer to
Installation.
- Download the model that you want to use, such as
resnet50
, and copy it to the board using scp.
- Install the model on the target
side.
tar -xzvf <model>.tar.gz
cp -r <model> /usr/share/vitis_ai_library/models
By
default, we put the models under /usr/share/vitis_ai_library/models directory on the target
side.Note: You do not need to install the Xilinx model packet if you want to use your
own model.
- Git clone the corresponding Vitis AI Library from https://github.com/Xilinx/Vitis-AI.
- Create a folder under your workspace, using classification as an
example.
mkdir classification
- Create the demo_classification.cpp
source file. The main flow is shown in the following figure. See Vitis-AI/demo/VART/resnet50/src/main.cc for a
complete code example.
Figure 1. Flow for Developing with Vitis AI API_0
- Create a build.sh file as
shown below, or copy one from the Vitis AI
library demo and modify
it.
#/bin/sh
CXX=${CXX:-g++}
$CXX -O2 -fno-inline -I. -o demo_classification demo_classification.cpp -lopencv_core -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_imgcodecs -lopencv_highgui -lglog -lxir -lunilog -lpthread -lvart-runner
- Cross compile the
program.
sh -x build.sh
- Copy the executable program to the target board using scp.
scp demo_classification root@IP_OF_BOARD:~/
- Execute the program on the target board. Before running the
program, make sure the target board has the Vitis AI Library installed, and prepare the images you want to
test.
./demo_classification /usr/share/vitis_ai_library/models/resnet50/resnet50.xmodel resnet50_0 demo_classification.jpg