哈喽大家好 ! 我是唐宋宋宋,很荣幸与您相见!!!
我的环境:
cuda:11.1
cudnn:8.7.0
TensorRT:8.4.1.5
首先需要下载TensorRT,官网链接附下:
NVIDIA TensorRT 8.x Download | NVIDIA Developer
注:下载TensorRT版本需要和你电脑上的cuda版本对应
yolov5的代码需要大家上github自己扒 链接已经提供。
GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
查看cuda版本,打开anaconda prompt 终端
输入 conda env list查看你的虚拟环境
激活虚拟环境 ctivate pythonProject1cpu3.7
输入命令 nvcc -V 查看cuda版本 如图
查看cudnn版本 输入路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include
默认是c盘的路径 有一个名cudnn_version.h文件使用.txt打开
cudnn版本8.7.0
接着通过你的cuda版本和cudnn版本去官网下载适合你电脑配置的TensorRT
注:下载GA版本
下载完成tensorRT版本我们就开始配置环境。
打开python文件
选择和你pycharm虚拟环境对应的版本 3.7即cp37 ,3.8即cp38
打开pycharm 终端开始安装 (需要进入到我们刚找好的对应版本路径下才可以pip)这里拿我的作为例子
在终端输入命令:
pip install tensorrt-8.4.1.5-cp37-none-win_amd64.whl
开始安装,安装完毕检查是否装上,继续终端输入命令:
pip list
这里补充一下我们还需要安装一个包,用来生成engine文件。
pip install onnxruntime
以上搞定我们的环境配置就已经完成,接下来就开始调试代码,代码好调就是配置这些环境会耗时间,这里我大概讲一下部署的流程,首先我们使用tensorrt部署的目的就是为了优化模型,这里我们就需要把我们的原始模型换成tensorrt可以接受的.onnx格式,这是一个中转,有了.onnx我们就可以通过使用tensorrt生成我们的tensorrt engine文件(生成tensorrt engine需要使用tensorrt runtime API接口),然后通过我们的tensorrt engine文件在进行推理对比。 就是这么简单!
打开代码的export.py文件
我们可以看到
--weight 使用的是我们需要优化的权重,我这里用yolov5s.pt为例
--opset 这里的参数如果你报错的话可以试着改小一点
--include填写的就是我们第一步生成的onnx文件
然后运行会发现在项目的同级别下生成了一个.onnx文件
然后继续通过上面的步骤 ,
--weight填写 yolov5s.onnx
--include 填写 engine
继续运行会发现在项目的同级别下生成了一个.engine文件
注:如果输入.onnx生成engine报错的话可以直接在--weight填我们需要优化的权重
--include 直接填写engine,因为直接生成engine的过程中也会升成一个.onnx。文章来源:https://www.toymoban.com/news/detail-467869.html
感谢大家阅读!🙏🙏🙏文章来源地址https://www.toymoban.com/news/detail-467869.html
到了这里,关于使用TensorRT对yolov5进行部署(基于python,超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!