# 环境配置
ubuntu:18.04
cuda:11.0
cudnn:8.0
tensorrt:7.2.16
OpenCV:3.4.2
cuda,cudnn,tensorrt和OpenCV安装包(编译好了,也可以自己从官网下载编译)可以从链接: https://pan.baidu.com/s/1dpMRyzLivnBAca2c_DIgGw 密码: 0rct
cuda安装
如果系统有安装驱动,运行如下命令卸载
sudo apt-get purge nvidia*
禁用nouveau,运行如下命令
sudo vim /etc/modprobe.d/blacklist.conf
在末尾添加
blacklist nouveau
然后执行
sudo update-initramfs -u
chmod +x cuda_11.0.2_450.51.05_linux.run
sudo ./cuda_11.0.2_450.51.05_linux.run
是否接受协议: accept
然后选择Install
最后回车
vim ~/.bashrc 添加如下内容:
export PATH=/usr/local/cuda-11.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
source .bashrc 激活环境
cudnn 安装
tar -xzvf cudnn-11.0-linux-x64-v8.0.4.30.tgz
cd cuda/include
sudo cp *.h /usr/local/cuda-11.0/include
cd cuda/lib64
sudo cp libcudnn* /usr/local/cuda-11.0/lib64
tensorrt及OpenCV安装
定位到用户根目录
tar -xzvf TensorRT-7.2.1.6.Ubuntu-18.04.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz
cd TensorRT-7.2.1.6/python,该目录有4个python版本的tensorrt安装包
sudo pip3 install tensorrt-7.2.1.6-cp37-none-linux_x86_64.whl(根据自己的python版本安装)
pip install pycuda 安装python版本的cuda
定位到用户根目录
tar -xzvf opencv-3.4.2.zip 以备推理调用
# yolov5s模型转换onnx
pip install onnx
pip install onnx-simplifier
git clone https://github.com/ultralytics/yolov5.git
cd yolov5/models
vim common.py
把BottleneckCSP类下的激活函数替换为relu,tensorrt对leakyRelu int8量化不稳定(这是一个深坑,大家记得避开)即修改为self.act = nn.ReLU(inplace=True)
训练得到模型后
cd yolov5
python models/export.py --weights 训练得到的模型权重路径 --img-size 训练图片输入尺寸
python3 -m onnxsim onnx模型名称 yolov5s-simple.onnx 得到最终简化后的onnx模型
# onnx模型转换为 int8 tensorrt引擎
git clone https://github.com/Wulingtian/yolov5_tensorrt_int8_tools.git(求star)
cd yolov5_tensorrt_int8_tools
vim convert_trt_quant.py 修改如下参数
BATCH_SIZE 模型量化一次输入多少张图片
BATCH 模型量化次数
height width 输入图片宽和高
CALIB_IMG_DIR 训练图片路径,用于量化
onnx_model_path onnx模型路径
python convert_trt_quant.py 量化后的模型存到models_save目录下
# tensorrt模型推理
git clone https://github.com/Wulingtian/yolov5_tensorrt_int8.git(求star)
cd yolov5_tensorrt_int8
vim CMakeLists.txt
修改USER_DIR参数为自己的用户根目录
vim http://yolov5s_infer.cc 修改如下参数
output_name1 output_name2 output_name3 yolov5模型有3个输出
我们可以通过netron查看模型输出名
pip install netron 安装netron
vim netron_yolov5s.py 把如下内容粘贴
import netron
netron.start('此处填充简化后的onnx模型路径', port=3344)
python netron_yolov5s.py 即可查看 模型输出名
trt_model_path 量化的的tensorrt推理引擎(models_save目录下trt后缀的文件)
test_img 测试图片路径
INPUT_W INPUT_H 输入图片宽高
NUM_CLASS 训练的模型有多少类
NMS_THRESH nms阈值
CONF_THRESH 置信度
参数配置完毕
mkdir build
cd build
cmake ..
make
./YoloV5sEngine 输出平均推理时间,以及保存预测图片到当前目录下,至此,部署完成!
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
ubuntu:18.04 cuda:11.0 cudnn:8.0 tensorrt:7.2.16 OpenCV:3.4.2 cuda,cudnn,tensorrt和OpenCV安装包(编译好了,也可以自己从官网下载编译)可以从链接: https://pan.baidu.com/s/1dpMRyzLivnBAca2c_DIgGw 密码: 0r - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
yolov5_tensorrt_int8_tools-master.zip (11个子文件)
yolov5_tensorrt_int8_tools-master
util_trt.py 3KB
convert_trt_quant.py 4KB
models_save
yolov5s_int8.trt 10.34MB
nanodet_calibration.cache 3KB
nanodet_int8.trt 2.78MB
yolov5s_calibration.cache 2KB
__pycache__
util_trt.cpython-38.pyc 2KB
calibrator.cpython-36.pyc 2KB
util_trt.cpython-36.pyc 2KB
README.md 4KB
calibrator.py 2KB
共 11 条
- 1
资源评论
机智的程序员zero
- 粉丝: 2416
- 资源: 4812
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功