简洁网站设计设计网站公司的账务处理

当前位置: 首页 > news >正文

简洁网站设计,设计网站公司的账务处理,建设企业网站小微,网站动态图标TensorRT系列教程之 Windows10下yolov8 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov8 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov7 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov6 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov5 ten…TensorRT系列教程之 Windows10下yolov8 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov8 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov7 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov6 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolov5 tensorrt模型加速部署TensorRT系列教程之 Linux下 yolox tensorrt模型加速部署 文章目录 ubuntu下yolov6 tensorrt模型部署一、Ubuntu18.04环境配置1.1 安装工具链和opencv1.2 安装Nvidia相关库1.2.1 安装Nvidia显卡驱动1.2.2 安装 cuda11.31.2.3 安装 cudnn8.21.2.4 下载 tensorrt8.4.2.41.2.5 下载仓库TensorRT-Alpha并设置 二、从yolov6源码中导出onnx文件三、利用tensorrt编译onnx模型四、编译执行yolov6-tensorrt工程五、结束语
ubuntu下yolov6 tensorrt模型部署 YOLOv6是一款由美团视觉智能部开发的目标检测框架它包含了模型训练、推理及部署的全流程适用于工业应用场景。以下是关于YOLOv6的多方面介绍。 首先在模型结构方面YOLOv6采用了更为精细的骨干网络设计例如使用轻量级网络结构TinyNet相比于传统的CNN网络它在计算量和参数量上都得到了显著减少同时保持了良好的性能。 其次在训练策略上YOLOv6引入了分布式训练和多卡并行训练技术能够高效利用计算资源进行模型训练。此外YOLOv6还采用了知识蒸馏等训练技巧使得学生模型能够从教师模型中学习到知识从而提高了模型性能。 此外YOLOv6在算法层面也有多项改进和优化。例如它提出了SPP-O与Generalized-LSTM-O两种创新结构使得模型在特征提取和时空信息捕捉方面表现更加优异。此外YOLOv6还采用了混合损失函数将样本权重的差异考虑到损失函数中对于样本权重的差异能够进行有效的学习。 最后在应用场景方面YOLOv6广泛应用于多种业务场景中例如视频异常检测、工业质检等。以工业质检为例YOLOv6能够高效准确地检测出生产线上的缺陷产品从而提高了工业生产效率和质量。 总之YOLOv6这款目标检测框架具有高效、精准、轻量化的优点它在模型结构、训练策略、算法层面及应用场景等方面都展现出优秀的性能及创新点。
本文提供yolov6tensorrt加速方法。 有源码有源码有源码 不要慌哈哈哈。 yolov6s : Offical( left ) vs Ours( right ) 一、Ubuntu18.04环境配置 如果您对tensorrt不是很熟悉请务必保持下面库版本一致。 请注意: Linux系统安装以下库务必去进入系统bios下关闭安全启动(设置 secure boot 为 disable) 1.1 安装工具链和opencv sudo apt-get update sudo apt-get install build-essential sudo apt-get install git sudo apt-get install gdb sudo apt-get install cmakesudo apt-get install libopencv-dev

pkg-config –modversion opencv1.2 安装Nvidia相关库

注Nvidia相关网站需要注册账号。 1.2.1 安装Nvidia显卡驱动 ubuntu-drivers devices sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt install nvidia-driver-470-server # for ubuntu18.04 nvidia-smi1.2.2 安装 cuda11.3 进入链接: https://developer.nvidia.com/cuda-toolkit-archive选择CUDA Toolkit 11.3.0(April 2021)选择[Linux] - [x86_64] - [Ubuntu] - [18.04] - [runfile(local)] 在网页你能看到下面安装命令我这里已经拷贝下来 wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run sudo sh cuda_11.3.0_465.19.01_linux.runcuda的安装过程中需要你在bash窗口手动作一些选择这里选择如下 select[continue] - [accept] - 接着按下回车键取消Driver和465.19.01这个选项如下图(it is important!) - [Install] bash窗口提示如下表示安装完成 #

Summary

##Driver: Not Selected #Toolkit: Installed in /usr/local/cuda-11.3/ #……把cuda添加到环境变量 vim ~/.bashrc把下面拷贝到 .bashrc里面

cuda v11.3

export PATH/usr/local/cuda-11.3/bin\({PATH::\){PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.3/lib64\({LD_LIBRARY_PATH::\){LD_LIBRARY_PATH}} export CUDA_HOME/usr/local/cuda-11.3刷新环境变量和验证 source ~/.bashrc nvcc -Vbash窗口打印如下信息表示cuda11.3安装正常 nvcc: NVIDIA ® Cuda compiler driverbr Copyright © 2005-2021 NVIDIA Corporationbr Built on Sun_Mar_21_19:15:46_PDT_2021br Cuda compilation tools, release 11.3, V11.3.58br Build cuda_11.3.r11.3/compiler.29745058_0br1.2.3 安装 cudnn8.2 进入网站https://developer.nvidia.com/rdp/cudnn-archive选择 Download cuDNN v8.2.0 (April 23rd, 2021), for CUDA 11.x选择 cuDNN Library for Linux (x86_64)你将会下载这个压缩包: “cudnn-11.3-linux-x64-v8.2.0.53.tgz”

解压

tar -zxvf cudnn-11.3-linux-x64-v8.2.0.53.tgz将cudnn的头文件和lib拷贝到cuda11.3的安装目录下 sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ sudo chmod ar /usr/local/cuda/include/cudnn.h sudo chmod ar /usr/local/cuda/lib64/libcudnn*1.2.4 下载 tensorrt8.4.2.4 本教程中tensorrt只需要下载\、解压即可不需要安装。 进入网站 https://developer.nvidia.cn/nvidia-tensorrt-8x-download把这个打勾 I Agree To the Terms of the NVIDIA TensorRT License Agreement选择: TensorRT 8.4 GA Update 1选择: TensorRT 8.4 GA Update 1 for Linux x86_64 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6 and 11.7 TAR Package你将会下载这个压缩包: “TensorRT-8.4.2.4.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz”

解压

tar -zxvf TensorRT-8.4.2.4.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz

快速验证一下tensorrtcudacudnn是否安装正常

cd TensorRT-8.4.2.4/samples/sampleMNIST make cd ../../bin/导出tensorrt环境变量(it is important!)注将LD_LIBRARY_PATH:后面的路径换成你自己的后续编译onnx模型的时候也需要执行下面第一行命令 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/home/xxx/temp/TensorRT-8.4.2.4/lib ./sample_mnistbash窗口打印类似如下图的手写数字识别表明cudacudnntensorrt安装正常
1.2.5 下载仓库TensorRT-Alpha并设置 git clone https://github.com/FeiYull/tensorrt-alpha设置您自己TensorRT根目录: git clone https://github.com/FeiYull/tensorrt-alpha cd tensorrt-alpha/cmake vim common.cmake

在文件common.cmake中的第20行中设置成你自己的目录别和我设置一样的路径eg:

set(TensorRT_ROOT /root/TensorRT-8.4.2.4)二、从yolov6源码中导出onnx文件

可以直接从网盘下载onnx文件[weiyun]:weiyun or google driver 你也可以自己下载仓库然后按照下面指令手动导出onnx文件:

下载yolov6源码

git clone https://github.com/meituan/YOLOv6切换版本为6.3.0 git checkout 0.3.0安装 yolov6环境 pip install -r requirements.txt用以下指令导出onnx模型文件

640

python export.py –weights yolov7-tiny.pt –dynamic –grid python export.py –weights yolov7.pt –dynamic –grid python export.py –weights yolov7x.pt –dynamic –grid

1280

python export.py –weights yolov7-w6.pt –dynamic –grid –img-size 1280三、利用tensorrt编译onnx模型 将你的onnx模型放到这个路径:tensorrt-alpha/data/yolov6 cd tensorrt-alpha/data/yolov6 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:~/TensorRT-8.4.2.4/lib编译onnx模型指令640表示模型的输入分辨率为640X640,1280同理表示1280X1280。注意编译onnx格式的模型会得到例如xxxx.trt格式的文件下文推理要用到。

640

../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6n.onnx –saveEngineyolov6n.trt –buildOnly –minShapesimages:1x3x640x640 –optShapesimages:4x3x640x640 –maxShapesimages:8x3x640x640 ../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6s.onnx –saveEngineyolov6s.trt –buildOnly –minShapesimages:1x3x640x640 –optShapesimages:4x3x640x640 –maxShapesimages:8x3x640x640 ../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6m.onnx –saveEngineyolov6m.trt –buildOnly –minShapesimages:1x3x640x640 –optShapesimages:4x3x640x640 –maxShapesimages:8x3x640x640 ../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6l.onnx –saveEngineyolov6l.trt –buildOnly –minShapesimages:1x3x640x640 –optShapesimages:4x3x640x640 –maxShapesimages:8x3x640x640

1280

../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6n6.onnx –saveEngineyolov6n6.trt –buildOnly –minShapesimages:1x3x1280x1280 –optShapesimages:4x3x1280x1280 –maxShapesimages:8x3x1280x1280 ../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6s6.onnx –saveEngineyolov6s6.trt –buildOnly –minShapesimages:1x3x1280x1280 –optShapesimages:4x3x1280x1280 –maxShapesimages:8x3x1280x1280 ../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6m6.onnx –saveEngineyolov6m6.trt –buildOnly –minShapesimages:1x3x1280x1280 –optShapesimages:4x3x1280x1280 –maxShapesimages:8x3x1280x1280 ../../../../TensorRT-8.4.2.4/bin/trtexec –onnxyolov6l6.onnx –saveEngineyolov6l6.trt –buildOnly –minShapesimages:1x3x1280x1280 –optShapesimages:4x3x1280x1280 –maxShapesimages:8x3x1280x1280 四、编译执行yolov6-tensorrt工程 使用命令行编译下代码 git clone https://github.com/FeiYull/tensorrt-alpha cd tensorrt-alpha/yolov6 mkdir build cd build cmake .. make -j10按照需求执行推理支持推理一张图片、在线推理视频文件或者在线从摄像头获取视频流并推理。

640

infer image

./app_yolov6 –model../../data/yolov6/yolov6n.trt –size640 –batch_size1 –img../../data/6406401.jpg –show –savePath../

infer video

./app_yolov6 –model../../data/yolov6/yolov6n.trt –size640 –batch_size8 –video../../data/people.mp4 –show # infer camera ./app_yolov6 –model../../data/yolov6/yolov6n.trt –size640 –batch_size4 –cam_id0 –show## 1280

infer video

./app_yolov6 –model../../data/yolov6/yolov6s6.trt –size1280 –batch_size8 –video../../data/people.mp4 –savePath../ 例如以下是yolov6推理视频流效果。
五、结束语 都看到这里了觉得可以请点赞收藏有条件的去仓库点个star仓库https://github.com/FeiYull/tensorrt-alpha