ubuntu16.04运行YOLOV5并部署

news2024/9/27 15:25:27

运行环境

环境:ubuntu 16.04

CUDA: 10.2

执行模型推理

1. 下载yoloV5 repo

git clone https://github.com/ultralytics/yolov5

2. 用conda新建python环境

conda create -n yolo python=3.8

3.  安装需求包

pip install -r requirements.txt

4. (requremets中包含pytorch的安装,但是实际操作中我又安装了一次)

 conda install pytorch torchivsion -c pytorch

5, 运行预编译模型,会自动下载模型,生成yolov5s.pt,并处理图片。

python detect.py

6. 在runs/detect/expx文件夹可以看到处理的图片。

模型量化 

pytorch模型转onnx

 python export.py --weights yolov5s.pt --include torchscript onnx

 但是会有报错

 opset不支持 17,在export.py中把opset 改为11,解决该问题。

onnx模型可视化

 喜闻乐见的可视化环节到了,onnx模型可视化可直接打开网址

Netronhttps://netron.app/然后拖入生成的onnx模型,可以可视化。

tensorrt安装

tensorrt 官网: https://developer.nvidia.com/tensorrt
点击“立即下载”,需要英伟达账号,可以选择任意平台适配你的cuda版本的TensorRT。

需要注意的是,python3.9在TensorRT8之后的版本才支持,因此建议下载TensorRT8.

下载后进行安装。安装步骤可以参考

TensorRT 7.2.2 下载、安装、使用(ubuntu 18.04, cuda 10.2, cudnn 8.0.5)_白小心的博客-CSDN博客_tensorrt官网

中的安装。

CuDNN安装

在试图运行TensorRT/bin文件夹下的trtexec时,会有如下报错。

error while loading shared libraries: libcudnn.so.8: cannot open shared object file: No such file or directory

后来确定为cudnn没有安装。CuDNN安装步骤如下
Step 1: Register an nvidia developer account and download cudnn here (about 80 MB). You might need nvcc --version to get your cuda version. 

Step 2: Check where your cuda installation is. For most people, it will be /usr/local/cuda/. You can check it with which nvcc.

Step 3: Copy the files:

$ cd folder/extracted/contents
$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

onnx模型转TensorRT

在TensortRT/bin文件夹中运行下列指令,稍等片刻。

 ./trtexec --onnx '/home/project/yolov5/yolov5s.onnx' --saveEngine=yolov5s.trt

tensorrt模型生成成功。

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

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

相关文章

@Configuration如何保证@Bean单例语义?

1. 前言 Spring允许通过Bean注解方法来向容器中注册Bean,如下所示: Bean public Object bean() {return new Object(); }默认情况下,bean应该是单例的,但是如果我们手动去调用Bean方法,bean会被实例化多次&#xff0…

iServer使用影像服务(二)——影像服务发布为wmts和wms服务的加载

前言 自从SuperMap iServer10.2.0版本开始新增影像服务模块,并支持大规模影像(栅格)数据快速发布为影像服务,之后推出的版本中都陆陆续续对影像服务模块扩充了新功能、增强了新特性;如在SuperMap iServer10.2.1版本中…

JAVA注解使用

JAVA注解使用简介概念说明自定义注解注解格式元注解注解本质属性注解生成文档案例生成的源代码生成Doc简单的自定义反射演示注解定义调用类定义测试通过注解实现配置类定义枚举类定义注解配置类使用注解测试自动生成数据库生成演示数据库注解定义使用注解创建数据表使用注解创建…

[Java安全]—fastjson漏洞利用

前言 文章会参考很多其他文章的内容,记个笔记。 FASTJSON fastjson 组件是 阿里巴巴开发的序列化与 反序列化组件。 fastjson 组件 在反序列化不可信数据时会导致远程代码执行。 POJO POJO是 Plain OrdinaryJava Object 的缩写 ,但是它通指没有使用 …

ZGC 垃圾收集器详解(过程演示)

理论部分就不细讲了,具体可以看《 jvm 虚拟机原理》,下面直接画图来演示 ZGC 垃圾回收过程。 第一步 初始状态,视图由 mark0 切换为 Remapped ,其中,大方块是 region,小方块是对象,小方块上面数…

Win11的几个实用技巧系列之不能玩植物大战僵尸、如何彻底删除360所有文件

目录 Win11不能玩植物大战僵尸怎么办?Win11玩不了植物大战僵尸的解决方法 Win11玩不了植物大战僵尸的解决方法 win11如何彻底删除360所有文件?win11彻底删除360所有文件方法分享 win11如何卸载360: Win11不能玩植物大战僵尸怎么办?Win11玩不了植物大战僵尸的解…

记一次H3CIE实验考试

一、前言 直接上图 IE机试在12月19号考的,为避免成为小羊人,没去北京/杭州这2个固定地点,就在本省的协办单位考的。但是,还是中招了,5个同学一起去考的,全阳了。 华三机试一共有三套图,ACD&am…

1343:【例4-2】牛的旅行

1343:【例4-2】牛的旅行 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。现在,John…

【特殊的一年,过去了】再见2022,你好2023

现在是2022年12月30日,提前的新年快乐! 各位阳过了吗?( tips:最近新学会的打招呼方式:) ) 我已经阳康啦,所以本文是带有奥密克戎抗体的,各位不用担心~ – 2022可算是快接近尾声啦!…

虹科案例|Vuzix辅助和增强现实技术的全球领导者

当今企业的新现实 Vuzix 大多数科技业内人士都认为,未来将是免提时代。总有一天,智能手机、平板电脑、台式电脑和笔记本电脑将被更直观的设备所取代。 然而,对于未来免提的条件,各方意见并不一致。未来的免提设备是将数字信息覆盖…

IntelliJ IDEA 详细使用教程 – 主题,字体,类和方法注释设置

IDEA是Java开发者最喜爱的开发工具之一,高端大气,智能化,个性化,每个开发者都喜欢设置自己喜欢的主题,字体,打造一个属于自己的IDE,本次介绍在IDEA中,如何设置主题,字体等…

聊聊AQS

Java中 AQS 是 AbstractQueuedSynchronizer 类,AQS 依赖 FIFO 队列来提供一个框架,这个框架用于实现锁以及锁相关的同步器,比如信号量、事件等。 在 AQS 中,主要有两部分功能,一部分是操作 state 变量,第二…

调用html5播放器时,出现播放器按钮太小的问题

用手机浏览器打开视频&#xff0c;有时会出现播放器按钮太小的情况&#xff0c;此时只需在<head>中加入下面这段viewport代码即可解决&#xff1a; <meta name"viewport" content"widthdevice-width, initial-scale1, maximum-scale1,minimum-scale1…

Docker下Mysql应用部署

目录 环境搭建 进入mysql 外部连接mysql 外部插入数据 查询容器数据 环境搭建 docker pull mysqlmkdir /root/mysql cd /root/mysqldocker run -id \ -p 3307:3306 \ --name my_sql \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -v $PWD/conf:/etc/mysql/conf…

【开源项目】任务调度框架PowerJob介绍及源码解析

项目介绍 PowerJob&#xff08;原OhMyScheduler&#xff09;是全新一代分布式调度与计算框架&#xff0c;能让您轻松完成作业的调度与繁杂任务的分布式计算。 项目地址 源码&#xff1a;https://gitee.com/KFCFans/PowerJob官网&#xff1a;http://www.powerjob.tech/index…

前端期末考试试题及参考答案(01)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 一、 填空题 ______表示页面中一个内容区块或整个页面的标题。______表示页面中一块与上下文不相关的独立内容&#xff0c;比如一篇文章。CSS的引入方式有3种&#xff0c;分…

Python数据分析案例15——超市零售购物篮关联分析(apriori)

啤酒和纸尿裤的故事大多数人都听说过&#xff0c;纸尿裤的售卖提升了啤酒的销售额。 关联分析就是这样的作用&#xff0c;可以研究某种商品的售卖对另外的商品的销售起促进还是抑制的作用。 案例背景 本次案例背景是超市的零售数据&#xff0c;研究商品之间的关联规则。使用的…

移植SFUD,驱动SPI FLASH ZD25WQ80

1、关于SFUD SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库&#xff0c;支持众多spi flash&#xff0c;关于SFUD的详细资料可参考&#xff1a;https://github.com/armink/SFUD。 2、为什么会有通用驱动 JEDEC &#xff08;固态技术协会&#xff09;针对串行 …

Python的22个万用公式,你确定不看看吗

前言 在大家的日常python程序的编写过程中&#xff0c;都会有自己解决某个问题的解决办法&#xff0c;或者是在程序的调试过程中&#xff0c;用来帮助调试的程序公式。 小编通过几十万行代码的总结处理&#xff0c;总结出了22个python万用公式&#xff0c;可以帮助大家解决在…

TypeScript中type和interface区别

typescript中interface介绍&#xff1a;TypeScript 中的接口 interface_疆~的博客-CSDN博客通常使用接口&#xff08;Interface&#xff09;来定义对象的类型。https://blog.csdn.net/qq_40323256/article/details/128478749 type type关键字是声明类型别名的关键字。用来给一…