AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)

本项目使用的这位大佬的git项目.,过程中遇到很多问题大佬都及时回复了,在此十分感谢大佬相助。以下是对项目的补充说明:

一、项目环境

  • AGX Xavier 版本Jetpack4.4.1
  • cuda 10.2.89
  • cudnn 8.0.0.180
  • tensoort 7.1.3.0
  • opencv 4.4.1
  • onnx 1.5.0

AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第1张图片

二、环境配置

1. 安装 yaml-cpp

出现的错误:
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第2张图片
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第3张图片

解决方法:

sudo apt-get install libboost-all-dev
sudo apt-get install libyaml-cpp-dev

另外因为项目作者的yaml-cpp里静态库是在x86上编译的,版本信息如下
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第4张图片
如果直接编译会报错;
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第5张图片
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第6张图片

所以我们要改一下库的链接地址,静态库地址在/usr/lib/aarch64-linux-gnu
修改是在cmakelist里面修改:
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第7张图片
然后就可以啦
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第8张图片

2 onnx安装

pip3 install onnx==1.5.0

3 cfg转成onnx

python3 export_onnx.py  //记得修改文件路径

如果编译完成以后,执行项目的时候出现以下错误首先考虑是不是onnx倒出命令敲错了
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第9张图片
或者参考以下l方法.,yolov4如果是608x608和coco数据集的话,应该是输出应该22743和85,如果输出不对则是生成的onnx文件有问题。

4 编译项目

mkdir build && cd build
cmake ..
make -j

5项目执行:

./Yolov4_trt ../config.yaml ../samples

如果是自己的模型和类别参数,需要修改.yaml文件
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第10张图片
不然会出现segmentation core dumped错误:
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第11张图片
解决方法:
修改common.hpp里面的这里,改成1<<30
在这里插入图片描述
其次检查.yaml内容是否正确配置

另外,如果在这里卡主了,多等一下就可以,或者空一点内存出来
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第12张图片

6 检测结果

检测结果在samples文件夹里,终端不会输出。
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第13张图片
因为用新的数据重新训练了模型,所以检测出来的车轮是扳手,是正确的,不要怀疑。
AGX Xavier部署自己修改训练后的yolov4模型(tensorrt加速版)_第14张图片
在此感谢本项目作者给予的支持,敬礼!

你可能感兴趣的:(笔记,axure,深度学习,pytorch)