实现TensorRT加速Pytorch模型的过程(Yolov5为例)
一、环境:
系统:ubuntu16.04
显卡:GeForce MX250
显卡驱动:460.32.03
CUDA与CUDNN版本:cuda10.2.89, cudnn8.1
TensorRT版本:7.2.3.4
Cmake版本:3.20
Gcc & G++版本:7.6.5
二、安装过程(以Yolov5为例)
1、首先安装TensorRT
参考:https://zhuanlan.zhihu.com/p/344810135
注意点:如果在安装后import tensorrt出现ImportError: libxxx.so.10.2: cannot open shared object file: No such file or directory,原因是TensorRT的链接库路径丢失,利用ldconfig检查,并且利用sudo ln -s xxxxxxxxxxxxxxxxx.so.10.2 xxxxxxxxxxxxx.so,建立软链接
其余注意点有,cuda版本至少10.0以上,cudnn版本根据tensorrt的版本选择,并且显卡驱动的版本支持当前的cuda等环境的要求。
2、安装转化的源代码(https://github.com/enazoe/yolo-tensorrt)
(1) 建立一个文件夹:mkdir yolo_tensorrt_test
(2) 进入文件夹后
git clone https://github.com/ultralytics/yolov5.git
git clone https://github.com/enazoe/yolo-tensorrt.git
(3) yaml2cfg.py将脚本复制到yolov5根目录,并生成cfg和weigths文件
cp yolo-tensorrt/scripts/yaml2cfg.py yolov5/
cd yolov5
python yaml2cfg.py
cd ..
mv yolov5/models/yolov5s.cfg yolo-tensorrt/configs/yolov5-4.0
mv yolov5/weights/yolov5s.weights yolo-tensorrt/configs/yolov5-4.0
(4) 进入yolo-tensorrt文件夹
首先更改Cmakelists.txt文件(很重要!很重要!很重要!)
在#detector lib (cuda)之前,添加代码
include_directories(/home/qsm16/TensorRT-7.2.3.4/include/)
link_directories(/home/qsm16/TensorRT-7.2.3.4/lib/)
link_libraries(nvinfer nvinfer_plugin nvparsers nvonnxparser myelin)
(并且在build前,应当保证gcc与g++的版本要求)
然后编译源码
mkdir build && cd build
cmake ..
make
./yolo_trt
完成安装!
上述过程亲测有效,另外有其他问题欢迎一起探讨,并且该版本代码为c++,另有python版本的实现,因为有完整的过程我仅将github链接放在这里供大家参考
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!