# yolo_onnx_tensorRT加速部署 **Repository Path**: JRYryry/yolo_onnx_tensorRT ## Basic Information - **Project Name**: yolo_onnx_tensorRT加速部署 - **Description**: 用tensorRT加速部署深度学习模型 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2023-05-28 - **Last Updated**: 2024-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yolo_onnx_tensorRT加速部署 YOLO模型的tensorRT部署(其他深度学习模型的onnx版本也能用,但是得自己改后续推理部分) trt_creat:将onnx的模型转换成trt序列 trt_run:生成引擎进行推理 使用前需要安装opencv和cuda(cuda要同时配置cuDNN和tensorRT),配置完添加到环境变量,参考属性配置.txt在visual上配置相关属性。 输入图像的预处理过程写了一个cuda核函数用GPU加速,每个线程操作一个像素的三个颜色值(其实可以每个线程操作每个像素的每个颜色值) 如果使用过程中出了文件可以不调用,用opencv的blobFromImage进行图像预处理。因为cpp编译器不能识别<<<,我就把核函数封装成了lib库,源码在image preprocessing.cu 整个项目是借助yolo,实现工地安全检测相关模型以及数据集可以参考我的码云仓库: https://gitee.com/JRYryry/yolov5 此项目代码可以用来部署自己的yolo模型,前提是转换成onnx格式,后续模型输出的数据处理得改一下下 ============更新2023.6.12 1.推理程序的图像获取过程用多线程优化了下(用于解决opencv视频流阻塞机制;好像提升不大) 2.使用锁业内存在主机和GPU直接传输图像数据(理解为DMA) 3.后续处理结果做了cache优化 4.normalization库(做数据归一化),之前的推理主机和GPU用的是线性数据传输,可以改用3D数据,cuda3D的数据能自动补全对齐,可以提高cache命中 normalization库的相关函数就是来配合处理3D图像数据的,因为这个cuda三维数据的填充机制比较那啥,这个函数只能做归一化,还得配合之前的做缩放和 维度转换(😊)