tensorrtx部署yolov5 6.0

这篇具有很好参考价值的文章主要介绍了tensorrtx部署yolov5 6.0。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. yolov5 v6.0训练模型

  1. 官网下载yolov5 v6.0代码
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  2. 下载官方预训练好的模型
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  3. 安装yolov5所需要的库文件,requirements.txt在下载好的yolov5源代码中有

    pip install -r C:\Users\10001540\Downloads\yolov5-6.0\requirements.txt
    

    tensorrtx部署yolov5 6.0,深度学习,YOLO

  4. 打开yolov5源代码中的detect.py文件,修改模型的位置
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    运行后可能出现各种错误,可以去参考网上的教程

二.训练好的yolov5模型转tensorrt引擎

  1. 去tensorrtx官网下载代码
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  2. 将tensorrtx下的yolov5中的gen_wts.py复制到yolov5源代码文件夹中
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  3. 参考yolov5官方说明,将yolov5模型文件yolov5s.pt转换为yolov5s.wts文件
    tensorrtx部署yolov5 6.0,深度学习,YOLO

    python gen_wts.py -w weights/yolov5s.pt -o yolov5s.wts
    

    tensorrtx部署yolov5 6.0,深度学习,YOLO
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  4. 进入tensorrtx下的yolov5文件夹,修改里面的CMakeList.txt,如下:

    cmake_minimum_required(VERSION 2.6)
    
    project(yolov5) #1
    set(OpenCV_DIR "D:\\Program Files\\opencv\\build")  #2
    set(OpenCV_INCLUDE_DIRS ${OpenCV_DIR}\\include) #3
    set(OpenCV_LIB_DIRS ${OpenCV_DIR}\\x64\\vc15\\lib) #4
    set(OpenCV_Debug_LIBS "opencv_world454d.lib") #5
    set(OpenCV_Release_LIBS "opencv_world454.lib") #6
    set(TRT_DIR "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\TensorRT-8.2.3.0")  #7
    set(TRT_INCLUDE_DIRS ${TRT_DIR}\\include) #8
    set(TRT_LIB_DIRS ${TRT_DIR}\\lib) #9
    set(Dirent_INCLUDE_DIRS "Z:\\code\\dirent-master\\include") #10
    
    add_definitions(-std=c++11)
    add_definitions(-DAPI_EXPORTS)
    
    option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
    set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_BUILD_TYPE Debug)
    
    set(THREADS_PREFER_PTHREAD_FLAG ON)
    find_package(Threads)
    
    # setup CUDA
    find_package(CUDA REQUIRED)
    message(STATUS "    libraries: ${CUDA_LIBRARIES}")
    message(STATUS "    include path: ${CUDA_INCLUDE_DIRS}")
    
    include_directories(${CUDA_INCLUDE_DIRS})
    
    ####
    enable_language(CUDA)  # add this line, then no need to setup cuda path in vs
    ####
    include_directories(${PROJECT_SOURCE_DIR}/include) #11
    include_directories(${TRT_INCLUDE_DIRS}) #12
    link_directories(${TRT_LIB_DIRS}) #13
    include_directories(${OpenCV_INCLUDE_DIRS}) #14
    link_directories(${OpenCV_LIB_DIRS}) #15
    include_directories(${Dirent_INCLUDE_DIRS}) #16
    
    
    # -D_MWAITXINTRIN_H_INCLUDED for solving error: identifier "__builtin_ia32_mwaitx" is undefined
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Ofast -D_MWAITXINTRIN_H_INCLUDED")
    
    # setup opencv
    find_package(OpenCV QUIET
        NO_MODULE
        NO_DEFAULT_PATH
        NO_CMAKE_PATH
        NO_CMAKE_ENVIRONMENT_PATH
        NO_SYSTEM_ENVIRONMENT_PATH
        NO_CMAKE_PACKAGE_REGISTRY
        NO_CMAKE_BUILDS_PATH
        NO_CMAKE_SYSTEM_PATH
        NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
    )
    
    message(STATUS "OpenCV library status:")
    message(STATUS "    version: ${OpenCV_VERSION}")
    message(STATUS "    lib path: ${OpenCV_LIB_DIRS}")
    message(STATUS "    Debug libraries: ${OpenCV_Debug_LIBS}")
    message(STATUS "    Release libraries: ${OpenCV_Release_LIBS}")
    message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
    
    
    
    add_executable(yolov5 ${PROJECT_SOURCE_DIR}/yolov5.cpp ${PROJECT_SOURCE_DIR}/common.hpp ${PROJECT_SOURCE_DIR}/yololayer.cu ${PROJECT_SOURCE_DIR}/yololayer.h ${PROJECT_SOURCE_DIR}/preprocess.cu ${PROJECT_SOURCE_DIR}/preprocess.h)   #17
    
    target_link_libraries(yolov5 "nvinfer" "nvinfer_plugin") #18
    target_link_libraries(yolov5 debug ${OpenCV_Debug_LIBS}) #19
    target_link_libraries(yolov5 optimized ${OpenCV_Release_LIBS}) #20
    target_link_libraries(yolov5 ${CUDA_LIBRARIES}) #21
    target_link_libraries(yolov5 Threads::Threads)  
    
    if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
    set(CMAKE_CUDA_ARCHITECTURES 70 75 80 86)
    endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
    
    

    这里需要注意:
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  5. 在tensorrtx下的yolov5文件夹中,打开cmd,输入以下代码

    mkdir build
    cd build 
    cmake ..
    

    tensorrtx部署yolov5 6.0,深度学习,YOLO

  6. 进入build文件夹,用vs打开yolov5.sln文件,然后点击生成,生成解决方案
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    出现以下这说明生成成功:
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  7. 设置yolov5为启动项
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  8. 进入yolov5属性页,调试选项设置如下:
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  9. 设置完成运行程序
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    运行可能需要花费一定的时间,出现以下这说明模型转换成功
    tensorrtx部署yolov5 6.0,深度学习,YOLO

  10. 测试生成的模型,在属性页面中设置如下:
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    出现以下内容这说明运行成功:
    tensorrtx部署yolov5 6.0,深度学习,YOLO
    tensorrtx部署yolov5 6.0,深度学习,YOLO文章来源地址https://www.toymoban.com/news/detail-685702.html

到了这里,关于tensorrtx部署yolov5 6.0的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深度学习】YOLOv5实例分割 数据集制作、模型训练以及TensorRT部署

    yolov5-seg:官方地址:https://github.com/ultralytics/yolov5/tree/v6.2 TensorRT:8.x.x 语言:C++ 系统:ubuntu18.04 前言:由于yolo仓中提供了标准coco的json文件转txt代码,因此需要将labelme的json文件转为coco json. labelme JSON 转COCO JSON 使用labelme的CreatePolygons按钮开始绘制多边形,然后保存为json格式。

    2024年02月06日
    浏览(47)
  • 改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)

    2022.10.30 复现TPH-YOLOv5 2022.10.31 完成替换backbone为Ghostnet 2022.11.02 完成替换backbone为Shufflenetv2 2022.11.05 完成替换backbone为Mobilenetv3Small 2022.11.10 完成EagleEye对YOLOv5系列剪枝支持 2022.11.14 完成MQBench对YOLOv5系列量化支持 2022.11.16 完成替换backbone为EfficientNetLite-0 2022.11.26 完成替换backbone为

    2024年01月17日
    浏览(60)
  • 基于树莓派Qt+opencv+yolov5-Lite+C++部署深度学习推理

            本文是基于 qt和opencv的dnn 深度学习推理模块,在树莓派上部署YOLO系列推理,适用于yolov5-6.1以及yolov5-Lite,相比直接用python的onnxruntime,用基于opencv的dnn模块,利用训练生成的onnx模型,即可快速部署,不需要在树莓派上额外安装深度学习的一系列环境,因为我们知道

    2024年04月16日
    浏览(56)
  • 深度学习部署(十九): CUDA RunTime API YOLOV5后处理cpu解码以及gpu解码

    看看我们干了什么, 就是把bouding box恢复成框而已 对于模型推理后的后处理,可以直接使用cuda核函数进行解码,效率比较高 nms也可以在核函数里面实现 这里演示了一个yolov5的实际案例,后续其他的操作都是类似的 gpu_decoder难度较大,一般先写一个cpu的decoder, 再写个gpu_decode

    2023年04月11日
    浏览(39)
  • YOLOv5目标检测学习(1):yolo系列算法的基础概念

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 关于深度学习目标检测,有许多概念性的东西需要先了解一下。这里主要以基于深度学习的目标检测算法的部署实现来学习。 以yolov5为例: 使用YOLOv5进行车辆和行人的目标检测通常涉及以下步骤: 数据

    2024年04月09日
    浏览(48)
  • yolov5-6.0项目部署+自用Pytorch模型转换rknn模型并在RK3568 linux(Debian)平台上使用qt部署使用NPU推理加速摄像头目标识别详细新手教程

    1 我们打开yolov的官网,Tags选择6.0版本 2. 下载该压缩包并解压到工程目录下 3. 我们这里使用pycharm,专门针对python的IDE,用起来非常方便,下载方式就是官网直接下载,用的是社区版 4. 我们需要安装环境,这里我推荐安装Anaconda在电脑上,这是一个非常方便的包管理工具,可

    2024年02月05日
    浏览(58)
  • 【AI】在NVIDIA Jetson Orin Nano上使用tensorrtx部署yolov8

    本人下载的yolov8n.pt yolov8n-cls.pt:用于分类 yolov8n-pose.pt:用于姿势识别 yolov8n-seg.pt:用于对象分割 yolov8n-v8loader.pt:专用于人员检测器??? yolov8n.pt:用于对象检测 1)测试图片

    2024年02月06日
    浏览(40)
  • yolov5s-6.0网络模型结构图

    因为在6.0上做的了一些东西,所以将6.0得网络模型画了出来,之前也画过5.0的网络模型,有兴趣的小伙伴可以看下。 yolov5s-5.0网络模型结构图_zhangdaoliang1的博客-CSDN博客_yolov5s模型结构 看了很多yolov5方面的东西,最近需要yolov5得模型结构图,但是网上的最多的是大白老师的,

    2023年04月09日
    浏览(31)
  • 深度学习—Yolov5模型配置

    搭建Yolov5要注意两个大问题:一个是在搭建YOLOv5前的环境准备,另一个是前部环境搭好后对YOLOv5的配置,运行YOLOv5自带的检验程序,便于后续的处理。 ps: 搭建环境一定要细心 + 耐心 个人配置如下: Python 3.7 + CUDA 11.6 + CUDNN 8.4.0 + Torch 1.12.0 具体配置过程请跳转下列链接: 深度

    2024年02月16日
    浏览(36)
  • 深度学习基础——YOLOv5目标检测

            YOLO系列算法属于基于回归的单阶段目标检测算法,它将定位与分类两个任务整合成一个任务,直接通过CNN网络提取全局信息并预测图片上的目标。给目标检测算法提供了新的解决方案,并且图片检测速度准确率与召回率达到实时检测的要求。其中YOLOv1、YOLO2、YO

    2024年02月22日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包