tensorrtx-yolov5-v6.0部署在windows系统

前言:最近几天一直在搞这个东西,现在跑通了,为了以后自己看和帮助他人,就记录一下。虽然是跑通了但是觉得怪怪的,感觉不是自己想要的效果,另外这个只能检测图片,不能摄像头实时监测(我暂时没找到方法)。另外我部署的这个可能是c++版本的。你可以先看一下整体的,在决定用不用我的方法。



第一,下载项目,我这里使用yolov5的第六个版本,你根据自己所需下载自己的。

GitHub - wang-xinyu/tensorrtx: Implementation of popular deep learning networks with TensorRT network definition APIImplementation of popular deep learning networks with TensorRT network definition API - wang-xinyu/tensorrtxicon-default.png?t=N7T8https://github.com/wang-xinyu/tensorrtx

这里基本都是用的终端操作,需要进入虚拟环境中,建立build文件(以下为操作命令)

cd {tensorrtx}/yolov5/
mkdir build
cd build

第二,更改下面文件内容。

 用以下内容替换。

cmake_minimum_required(VERSION 2.6)project(yolov5)#change to your own path
##################################################
set(OpenCV_DIR "D:\\ruanjian1\\opencv\\opencv\\build")
set(TRT_DIR "D:\\ruanjian1\\tensorrt\\TensorRT-8.5.3.1")
set(Dirent_INCLUDE_DIRS "D:\\ruanjian1\\tensorrt\\TensorRT-8.5.3.1\\include")
##################################################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})
include_directories(${Dirent_INCLUDE_DIRS})#change to your GPU own compute_XX
###########################################################################################
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-std=c++11;-g;-G;-gencode;arch=compute_60;code=sm_60)
###############################################################################################
enable_language(CUDA)  # add this line, then no need to setup cuda path in vs
####
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${TRT_DIR}\\include)# -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 QUIETNO_MODULENO_DEFAULT_PATHNO_CMAKE_PATHNO_CMAKE_ENVIRONMENT_PATHNO_SYSTEM_ENVIRONMENT_PATHNO_CMAKE_PACKAGE_REGISTRYNO_CMAKE_BUILDS_PATHNO_CMAKE_SYSTEM_PATHNO_CMAKE_SYSTEM_PACKAGE_REGISTRY
)message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${TRT_DIR}\\lib)add_executable(yolov5 ${PROJECT_SOURCE_DIR}/yolov5.cpp ${PROJECT_SOURCE_DIR}/yololayer.cu ${PROJECT_SOURCE_DIR}/yololayer.h ${PROJECT_SOURCE_DIR}/preprocess.cu)target_link_libraries(yolov5 "nvinfer" "nvinfer_plugin")
target_link_libraries(yolov5 ${OpenCV_LIBS})
target_link_libraries(yolov5 ${CUDA_LIBRARIES})
target_link_libraries(yolov5 Threads::Threads)

替换完成后需要更改opencv、tensorrt的安装路径,与上面对照着改以下的内容。

 第三,运行cmake ..命令,我这个没有报错。(这个cmake命令可能提示未安装,你可以在虚拟环境中安装 pip install cmake也可以安装软件跟下面的博主一样操作)

 windows下 使用VS2019部署yolov5使用TensorRT加速模型推理_vs2019 +tensorrt配置加载模型-CSDN博客文章浏览阅读1.3k次,点赞10次,收藏16次。yolov5s通过tensort,导出为dll文件,python、c++调用dll文件。1.项目环境软件安装,及其环境变量配置请参考上述人员的博客,必须基于yolov5(6.0版本),cuda和cudnn和TensorRT版本必须匹配,如有报错请考虑软件版本、环境变量是否匹配。下载地址下载地址下载地址下载地址下载地址下载地址下载地址下载地址。_vs2019 +tensorrt配置加载模型https://blog.csdn.net/liyucong1/article/details/130412991

 其实,按照这位博主的步骤基本能把yolov5自带的yolov5s.pt跑通,

第四,我补充以下使用自己的模型部署时的操作,CLASS_NUM的个数就是自己要识别的数量。

修改完成后重新生成下,应该就可以了。

 第五,目前进行摄像头实时监测未完成,希望有人完成,在评论区留下方法吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1424510.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

震撼发布!GPT-4o 上线!

5 月 14日凌晨一点,OpenAI 发布了 GPT-4o! 新模型的功能简单概括就是:更快、更智能、更像人类。 秉承着持续更新的态度,Hulu AI 快速接入 GPT-4o 啦! 继 5 月份上线 Suno 之后,这次是 Hulu AI 的又一重大…

Linux---编辑器vim的认识与简单配置

前言 我们在自己的电脑上所用的编译软件,就拿vs2022来说,我们可以在上面写C/C语言、python、甚至java也可以在上面进行编译,这种既可以用来编辑、运行编译,又可以支持很多种语言的编译器是一种集成式开发环境,集众多于…

MP3解码入门(基于libhelix)

主要参考资料: 【Arduino Linux】基于 Helix 解码库实现 MP3 音频播放: https://blog.csdn.net/weixin_42258222/article/details/122640413 libhelix-mp3: https://github.com/ultraembedded/libhelix-mp3/tree/master 目录 一、MP3文件二、MP3 解码库三、libhelix-mp3库3.1 …

如何去除字符串两侧的空白字符?

TRIM函数会去掉字符串左侧和右侧的空格,语法是:TRIM(字符串) excel中,TRIM函数能去掉字符串左侧和右侧的空格,它的ASCII码是32。 以下设定一个字符串组合,它的第一个字符中空格,最后一个字符是换行符 &q…

Pathlib,一个不怕迷路的 Python 向导

大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 一个简单的库,也许能够开启我们的智慧之门, 一个普通的方法,也许能在危急时刻挽救我们于水深火热, 一个新颖的思维方式,也许能…

年度更新!统信UOS服务器版V20(1070)超越期待

不负广大客户期待! 统信UOS服务器版V20(1070)年度首更 功能更强大、性能更卓越、生态更丰富 助您畅享安全、便捷、高效的产品和服务 新平台,新生态 统信UOS服务器版始终坚持进行生态适配,目前已支持超过百万种兼容…

Python 全栈体系【四阶】(四十四)

第五章 深度学习 九、图像分割 3. 常用模型 3.4 DeepLab 系列 3.4.3 DeepLab v3(2017) 在DeepLab v3中,主要进行了以下改进: 使用更深的网络结构,以及串联不同膨胀率的空洞卷积,来获取更多的上下文信…

使用TerraScan静态扫描KubernetsIaC文件

terrascan https://github.com/tenable/terrascan Terrascan 是基础架构即代码的静态代码分析器。Terrascan 允许: 将基础架构作为代码无缝扫描,以查找错误配置。监控已配置的云基础架构,以查找引入终端安全评估漂移的配置更改&#xff0…

Java面试八股之Collection和Collections的区别

Java中Collection和Collections的区别 Collection 是一个接口,位于 java.util 包中,它是 Java 集合框架的顶层接口之一,代表了一组对象的集合。Collection 接口定义了所有集合类型(如 List、Set、Queue 等)所共有的基…

每周一算法:恰好经过K条边的最短路

题目描述 牛站 给定一张由 M M M 条边构成的无向图,点的编号为 1 ∼ 1000 1\sim 1000 1∼1000 之间的整数。 求从起点 S S S 到终点 E E E 恰好经过 K K K 条边(可以重复经过)的最短路。 注意: 数据保证一定有解。 输入格式 第 1 …

AquaCrop模型运行及结果分析、代码解析;气象、土壤、作物和管理措施等数据的准备和输入;农业水资源管理

目录 专题一 模型原理与数据要求 专题二 模型数据准备 专题三 模型运行及结果分析 专题四 参数分析 专题五 源代码分析 更多应用 AquaCrop是由世界粮食及农业组织(FAO)开发的一个先进模型,旨在研究和优化农作物的水分生产效率。这个模型…

海外住宅IP适用场景

海外住宅IP是指海外互联网服务提供商分配给海外家庭的IP地址,通常长期部署在特定区域的公网中,网络连接稳定,能够快速浏览指定网页内容,请求响应成功。它的适用场景十分广泛,接下来将详细介绍哪些领域会使用海外住宅IP…

错误: 找不到或无法加载主类问题(已解决)

今天在虚拟机中安装了idea2023.2的版本,运行代码时发现错误找不到主类! 直接说结论: 我先clean了一下target,然后重新build,发现maven报错了,idea2023.2默认使用了内置的maven,然后我切换了一下…

垃圾分类管理系统java项目

文章目录 垃圾分类管理系统一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目(9.9¥带走) 垃圾分类管理系统 一、项目演示 垃圾分类管理系统 二、项目介绍 系统角色:管理员、用户 1、登录、注册功能…

单位个人如何向期刊投稿发表文章?

在单位担任信息宣传员一职以来,我深感肩上的责任重大。每月的对外信息宣传投稿不仅是工作的核心,更是衡量我们部门成效的重要指标。起初,我满腔热血,以为只要勤勉努力,将精心撰写的稿件投至各大报社、报纸期刊的官方邮箱,就能顺利登上版面,赢得读者的青睐。然而,现实远比理想骨…

谷歌全力反击 OpenAI:Google I/O 2024 揭晓 AI 新篇章,一场激动人心的技术盛宴

🚀 谷歌全力反击 OpenAI:Google I/O 2024 揭晓 AI 新篇章,一场激动人心的技术盛宴! 在这个人工智能的全新时代,只有谷歌能让你眼前一亮!来自全球瞩目的 Google I/O 2024 开发者大会,谷歌用一场…

54.指针

目录 一.什么是指针? 二.定义一个指针变量 三.指针变量类型 四.取地址运算符& 五.取值运算符* 六.视频教程 一.什么是指针? 口语中的指针一般指指针变量,指针变量存放的是一个地址。普通变量存放…

Nacos+GateWay 搭建微服务架构

文章目录 1.当前项目架构分析1.请求多个模块的方式1.请求renren-fast模块开发环境生产环境 2.请求sunliving-commodity模块1.使用环境变量资源路径的方式2.开发环境 dev.env.js3.生产环境 prod.env.js 3.文件上传请求 sunliving-service模块1.请求后端接口(开发环境…

上班族兼职新篇章:10大实战攻略,轻松年赚1-20万

对于众多上班族而言,如何在工作之余赚取额外收入,开启自己的第一份副业,已成为许多人心中的疑问。每个人的才能和兴趣点不尽相同,但都有机会找到适合自己的兼职方式。接下来,就让我们一起探索这10大实战攻略&#xff0…