使用TensorRT加速WongKinYiu/Pytorch_YOLOv4-tiny

在此对 基于Tensorrtx 实现 darknet Yolov4-tiny 模型 的作者表示感谢,本文建立在该文章之上。

文章目录

    • 1、环境和使用的YOLOv4-tiny源码
    • 2、使用 cfg 和 pt 生成 wts
    • 3、使用 wts 生成 engine,然后推理加速
    • 4、我的实验现象记录和问题

1、环境和使用的YOLOv4-tiny源码

环境:Jetson TX2 , Tensorrt 7.1
YOLOv4-tiny源码: https://github.com/WongKinYiu/PyTorch_YOLOv4/tree/master,branch master

2、使用 cfg 和 pt 生成 wts

将 gen_wts.py 复制到 ScaledYOLOv4/ 下
	git clone https://github.com/wang-xinyu/tensorrtx.git 	
	git clone -b yolov4-csp https://github.com/WongKinYiu/ScaledYOLOv4.git
	cp  {tensorrtx}/scaled-yolov4/gen_wts.py  {ScaledYOLOv4/} 	
	cd  {ScaledYOLOv4/} 
生成 wts 	
	//将要转换的 cfg、pt 文件复制到 ScaledYOLOv4/ 路径下
	python  gen_wts.py  best_overall.pt  	
	// 执行前先修改一下 gen_wts.py 文件内容,执行后 a file 'yolov4-tiny.wts' will be generated.

注意核对一下 cfg 文件路径和 图片输入尺寸
使用TensorRT加速WongKinYiu/Pytorch_YOLOv4-tiny_第1张图片

3、使用 wts 生成 engine,然后推理加速

git clone https://github.com/tjuskyzhang/Scaled-YOLOv4-TensorRT.git 
cp  {ScaledYOLOv4}/yolov4-tiny.wts  {Scaled-YOLOv4-TensorRT}/yolov4-tiny-tensorrt 
cd  Scaled-YOLOv4-TensorRT/yolov4-tiny-tensorrt

打开 Scaled-YOLOv4-TensorRT/yolov4-tiny-tensorrt 路径下的 yololayer.h ,修改 yololayer.h ,需要修改的地方已在下面图片标注。注意:yolo2 下面使用的 anchors 是 anchors 1 2 3,不是 anchors 0 1 2。具体原因见解释说明。
使用TensorRT加速WongKinYiu/Pytorch_YOLOv4-tiny_第2张图片
解释说明
使用TensorRT加速WongKinYiu/Pytorch_YOLOv4-tiny_第3张图片
来源:https://github.com/hunglc007/tensorflow-yolov4-tflite/issues/111#issuecomment-650205659

然后继续执行命令

mkdir build 
cd  build 
cmake  .. 
make  

// Serialize the model and generate yolov4-tiny.engine 
./yolov4-tiny  -s      // 执行窗口出现 set name out 时表示正在转换,稍等一会 
// Deserialize and generate the detection results _dog.jpg and so on. 
./yolov4-tiny  -d   the/path/of/your/images

4、我的实验现象记录和问题

按照我写的流程,使用官方的 pt、cfg 最后能跑对。
官方 权重、cfg 文件下载链接:https://pan.baidu.com/s/1lEXCyDJyjL9B0WR-MKzAeg 提取码:ml0o

但是使用我自己训练的 Pytorch_yolov4-tiny ,使用生成的 pt、cfg 文件,跑不对。现象如下:
使用TensorRT加速WongKinYiu/Pytorch_YOLOv4-tiny_第4张图片
我的是1个类别,最后用 tensorrt 推理加速识别出来,每个目标上总会有多个框,如上图。我不知道该如何去处理这种现象,如果有知道的友友,麻烦告知我,谢谢!

你可能感兴趣的:(pytorch,python,目标检测)