Spaces:
Runtime error
Runtime error
YOLOX-OpenVINO in C++
This tutorial includes a C++ demo for OpenVINO, as well as some converted models.
Download OpenVINO models.
Model | Parameters | GFLOPs | Test Size | mAP | Weights |
---|---|---|---|---|---|
YOLOX-Nano | 0.91M | 1.08 | 416x416 | 25.8 | github |
YOLOX-Tiny | 5.06M | 6.45 | 416x416 | 32.8 | github |
YOLOX-S | 9.0M | 26.8 | 640x640 | 40.5 | github |
YOLOX-M | 25.3M | 73.8 | 640x640 | 47.2 | github |
YOLOX-L | 54.2M | 155.6 | 640x640 | 50.1 | github |
YOLOX-Darknet53 | 63.72M | 185.3 | 640x640 | 48.0 | github |
YOLOX-X | 99.1M | 281.9 | 640x640 | 51.5 | github |
Install OpenVINO Toolkit
Please visit Openvino Homepage for more details.
Set up the Environment
For Linux
Option1. Set up the environment tempororally. You need to run this command everytime you start a new shell window.
source /opt/intel/openvino_2021/bin/setupvars.sh
Option2. Set up the environment permenantly.
Step1. For Linux:
vim ~/.bashrc
Step2. Add the following line into your file:
source /opt/intel/openvino_2021/bin/setupvars.sh
Step3. Save and exit the file, then run:
source ~/.bashrc
Convert model
Export ONNX model
Please refer to the ONNX tutorial. Note that you should set --opset to 10, otherwise your next step will fail.
Convert ONNX to OpenVINO
cd <INSTSLL_DIR>/openvino_2021/deployment_tools/model_optimizer
Install requirements for convert tool
sudo ./install_prerequisites/install_prerequisites_onnx.sh
Then convert model.
python3 mo.py --input_model <ONNX_MODEL> --input_shape <INPUT_SHAPE> [--data_type FP16]
For example:
python3 mo.py --input_model yolox_tiny.onnx --input_shape [1,3,416,416] --data_type FP16
Make sure the input shape is consistent with those in cpp file.
Build
Linux
source /opt/intel/openvino_2021/bin/setupvars.sh
mkdir build
cd build
cmake ..
make
Demo
c++
./yolox_openvino <XML_MODEL_PATH> <IMAGE_PATH> <DEVICE>