- 前言
- 一、源码下载
- 二、服务器环境
- 三、使用步骤
- 1.模型转换pt->wts
- 2.编译:
- 3.模型转换wts->engine:
- 4.c++推理:
- 5.python推理:
- 四、错误记录
- 1.cmake 时出错
- 2.make编译时错误
- 3.make编译时出错
- 总结
前言
近期,在Ubuntu下用TensorRT推理YOLOV5代码时,出了以下错误,故写本文来记录一下
一、源码下载
YOLOV5:这里
tensorrtx: 这里
注意他们的版本一定一定一定要配套
为保险起见的话也可以在tensorrtx下的yolov5目录里的readme文件里下载对应的版本,如下:
以下环境仅供参考,不一定非要一致,只要互相配套即可。
cuda 11.4 cudnn 8.x (具体版本忘记看了,在官网里下载配套的即可) TensorRT 8.2
python环境
TensorRT=8.2 (上一步安装好TensorRT时,会在python文件夹下给出对应的whl文件,在我们的python环境下直接pip install即可) pytorch=1.9 torchvision==0.10.0
其他依赖项pip install -r requirements.txt即可
三、使用步骤 1.模型转换pt->wts复制tensorrtx的yolov5里的get_wts.py到原yolov5目录下,然后更改里面的参数内容,如pt模型路径,然后运行get_wts.py文件即可。
2.编译:进入到tensorrtx的yolov5目录下,先将yololayer.h里的类别数改为自己的(如果你是推理自己的模型的话,如果是官方模型直接进行下边 *** 作)
mkdir build cd build cmake .. make3.模型转换wts->engine:
执行以下命令:
sudo ./yolov5 -s xxx.wts xxx.engine s
sudo可加可不加
xxx.wts是我们在1生成的wts路径
xxx.engine是我们要生成的文件名
s 是我们的模型选型,可以换成l,m,x等
执行命令:
sudo ./yolov5 -d xxx.engine xxx
sudo:可加可不加
xxx.engine: 上一步转换成功的engine路径
xxx:测试图片路径,只传文件夹路径即可
进入到yolov5_trt.py里,更改以下参数:
engine_file_path:模型路径
categories:类别标签
image_dir:测试图片路径
python推理后默认会将结果保存在当前目录的output文件夹下
没有注意,直接进行了make编译,导致出错如下:
解决办法:
在CMakeList.txt里的find_package(OpenCV)之前加入:
set(OpenCV_DIR /home/Downloads/opencv-4.5.1/build)
也就是加入了opencv编译的路径
解决办法:
在CMakeLists.txt里更改tensorrt的路径,红色区域为默认路径,改为中间两个,也就是自己tensorrt安装路径
解决办法
以上方案二选一,opencv的路径根据自己的路径进行修改
总结
报错记录就到这里,准备的有点仓促,有很多不足,望各位大佬见谅。新的一年开始了,祝各位代码越写越流畅。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)