Remark: This repo only support 1 batch size
Video source: https://www.youtube.com/watch?v=n3Dru5y3ROc&t=0s
git clone --recursive https://github.com/laitathei/YOLOv7-ONNX-RKNN-HORIZON-TensorRT-Segmentation.git
torch: 1.10.1+cu102
torchvision: 0.11.2+cu102
onnx: 1.10.0
onnxruntime: 1.10.0
# For tensorrt
torch: 1.11.0+cu113
torchvision: 0.12.0+cu113
TensorRT: 8.6.1
cd yolov7
pip3 install -r requirements.txt
Remember to change the variable to your setting.
python3 pytorch2onnx.py --weights ./model/yolov7-seg.pt --include onnx --img-size 480 640 --simplify
Install the wheel according to your python version
cd rknn-toolkit2/packages
pip3 install rknn_toolkit2-1.5.0+1fa95b5c-cpxx-cpxx-linux_x86_64.whl
Remember to change the variable to your setting
To improve perfermance, you can change ./config/yolov7-seg-xxx-xxx.quantization.cfg
layer type.
Please follow official document hybrid quatization part and reference to example program to modify your codes.
python3 onnx2rknn_step1.py
Add following setting into ./config/yolov7-seg-xxx-xxx.quantization.cfg
custom_quantize_layers:
528_shape4_Slice_315: float16
638_shape4_Slice_391: float16
748_shape4_Slice_467: float16
528_int8: float16
638_int8: float16
748_int8: float16
python3 onnx2rknn_step2.py
python3 rknn_lite_inference.py
wget -c ftp://[email protected]/ai_toolchain/ai_toolchain.tar.gz --ftp-password=xj3ftp@123$%
tar -xvf ai_toolchain.tar.gz
cd ai_toolchain/
pip3 install h*
get onnx file with opset 11
python3 pytorch2onnx.py --weights ./model/yolov7-seg.pt --include onnx --img-size 480 640 --simplify --opset 11
Remember to change the variable to your setting include yolov7seg_config.yaml
sh 01_check.sh
sh 02_preprocess.sh
sh 03_build.sh
python3 horizion_simulator_inference.py
python3 horizion_onboard_inference.py
python3 onnxruntime_inference.py
Remember to change the variable to your setting
python3 onnx2trt.py
python3 tensorrt_inference.py
https://blog.csdn.net/magic_ll/article/details/131944207
https://blog.csdn.net/weixin_45377629/article/details/124582404#t18
https://github.com/ibaiGorordo/ONNX-YOLOv8-Instance-Segmentation