Jetson Nano( 七)Deepstream yolov4

Jetson Nano( 七)deepstream yolov4

软硬件版本

Jetson Nano 4G
JP 4.4.1
CUDA 10.2
CUDNN 8.0
TensorRT 7.1.3.0
deepstream 5.0

Jetson 上环境库如:tensorflow pycuda torch1.5/1.6 torchvision 0.7等放在了网盘需要的自取:

链接:https://pan.baidu.com/s/163UMVcgapcpo6YDyrgj_Wg
提取码:ldql

deepstream的安装 请参考上篇:
https://blog.csdn.net/djj199301111/article/details/110186640

模型转换流程

Darknet模型 /Pytorch模型 —— ONNX模型 —— TRT模型

  1. 首先准备自己的yolov4模型darknet或者pytorch版本皆可。
  2. 使用https://github.com/Tianxiaomo/pytorch-YOLOv4下脚本转为onnx模型。
    注意:本步骤在开发机上运行
python demo_darknet2onnx.py <cfgFile> <weightFile> <imageFile> <batchSize>
#python ./demo_darknet2onnx.py ./cfg/yolov4.cfg ./cfg/yolov4.weights ./data/dog.jpg 1
python demo_pytorch2onnx.py <weight_file> <image_path> <batch_size> <n_classes> <IN_IMAGE_H> <IN_IMAGE_W>
#python ./demo_pytorch2onnx.py  ./cfg/yolov4.pth ./data/dog.jpg 1 80 416 416
  1. 使用trt命令转为engine模型。
  • 3.1 拷贝onnx模型至nano。
  • 3.2 使用trt转换:
/usr/src/tensorrt/bin/trtexec --onnx=./yolov4_pt.onnx --minShapes=input:1x3x416x416 --optShapes=input:1x3x416x416 --maxShapes=input:1x3x416x416 --workspace=2048 --saveEngine=./yolov4.engine --fp16

以上为本次设置的参数情况;设置大了会报显存不足的情况,有需求的朋友,可以多试几次。
转换过程估计在1-2小时左右

  • 3.3 测试engine模型

使用https://github.com/Tianxiaomo/pytorch-YOLOv4下的demo_trt.py脚本测试:

python demo_trt.py <tensorRT_engine_file> <input_image> <input_H> <input_W>
#

注意

  • Darknet模型 /Pytorch模型 —— ONNX模型 步骤是在开发机上操作的(本人在nano上会内存不足报错)。
  • ONNX模型 —— TRT模型 步骤在nano上运行。
  • 这里batchSize可设置1;设置4或8能提高一些推理速度;由于内存不足,本文中设置都是1。
  • 本文中模型输入尺寸为:416*416。
  • 需要添加虚拟内存否则无法转换成engine。

Deepstream 配置

1.将deepstream_yolov4 拷贝到 /opt/nvidia/deepstream-5.0/sources/
2.配置文件修改:

  • deepstream_app_config_yoloV4.txt

  • 模型路径

  • 标签路径

  • 批次大小

  • 模式格式(FP32 FP16 INT8)

  • 视频路径

  • config_infer_primary_yoloV4.txt

  • 输入尺寸大小

  • 模型路径

  • 标签数量

  • 置信度

3.运行测试

deepstream-app -c deepstream_app_config_yoloV4.txt

在这里插入图片描述

App run successful

说明运行成功

参考

https://github.com/NVIDIA-AI-IOT/yolov4_deepstream
https://github.com/Tianxiaomo/pytorch-YOLOv4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值