tensorrt_demos:yolov3、yolov4转ONNX转TensorRT

本文档详细介绍了如何在Ubuntu 18.0.4和Jetson TX2上配置TensorRT 7.1.3.4环境,支持YoloV3和YoloV4模型。步骤包括安装必要的库如OpenCV、CUDA、CUDNN,以及构建TensorRT演示项目。同时,提供了模型转换为ONNX和TensorRT引擎的步骤,最后展示了使用TensorRT运行YoloV4模型进行目标检测的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统支持
  1. 实测在ubuntu18.0.4和Jetson 4.5.1 TX2可以运行。
yolov3、yolov4环境支持
  1. TensorRT-7.1.3.4(实测用6.x.x.x也是可以的)
  2. onnx==1.4.1 # 实测版本大于1.4.1时会报错
  3. opencv4.1.1 #大于3.4的版本基本都可以
  4. cuda10.2 (可能还要cudnn 8.x.x)
环境准备
  1. Clone this repository.
$ cd ${HOME}/project
$ git clone https://github.com/jkjung-avt/tensorrt_demos.git
$ cd tensorrt_demos
$ sudo pip3 install Cython
$ cd ${HOME}/project/tensorrt_demos
$ make
$ cd ${HOME}/project/tensorrt_demos/plugins
$ make
yolov3、yolov4转模型
  1. 安装pycuda
$ cd ${HOME}/project/tensorrt_demos/ssd
$ ./install_pycuda.sh
  1. 安装onnx==1.4.1,大于这个版本会报错
$ sudo pip3 install onnx==1.4.1
  1. Go to the “plugins/” subdirectory and build the “yolo_layer” plugin. When done, a “libyolo_layer.so” would be generated.
$ cd ${HOME}/project/tensorrt_demos/plugins
$ make
  1. Download the pre-trained yolov3/yolov4 COCO models and convert the targeted model to ONNX and then to TensorRT engine. I use “yolov4-416” as example below. (Supported models: “yolov3-tiny-288”, “yolov3-tiny-416”, “yolov3-288”, “yolov3-416”, “yolov3-608”, “yolov3-spp-288”, “yolov3-spp-416”, “yolov3-spp-608”, “yolov4-tiny-288”, “yolov4-tiny-416”, “yolov4-288”, “yolov4-416”, “yolov4-608”, “yolov4-csp-256”, “yolov4-csp-512”, “yolov4x-mish-320”, “yolov4x-mish-640”, and custom models such as “yolov4-416x256”.)
$ cd ${HOME}/project/tensorrt_demos/yolo
$ ./download_yolo.sh
$ python3 yolo_to_onnx.py -m yolov4-416
$ python3 onnx_to_tensorrt.py -m yolov4-416
  1. Test the TensorRT “yolov4-416” engine with the “dog.jpg” image.
$ cd ${HOME}/project/tensorrt_demos
$ wget https://raw.githubusercontent.com/pjreddie/darknet/master/data/dog.jpg -O ${HOME}/Pictures/dog.jpg
$ python3 trt_yolo.py --image ${HOME}/Pictures/dog.jpg \
                      -m yolov4-416
$ python3 trt_yolo.py --usb 1 --model yolov4-416 # 用usb摄像头
$ python3 trt_yolo.py --onboard 0 --model yolov4-416 # 用板卡上的摄像头,但是不一定成功
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值