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

Yolov5 batch 推理

前言

想要就有了

代码

import shutil
import time
import traceback
import torchimport os
import cv2
class PeopleDetect(object):def __init__(self, repo_or_dir, weight_path, confidence) -> None:self.model = torch.hub.load(repo_or_dir, "custom", path=weight_path, source='local',force_reload=True)self.confidence = confidencedef start(self, img) -> list:mode_result = self.model(img,size=640)assert mode_resultdetect_result = mode_result.pandas().xyxy[0].to_dict(orient='index')if (len(detect_result)) > 0:box_list = self._get_box(detect_result)return box_listelse:return []def _get_box(self, detect_result:list) -> list:box_list = []for i in range(len(detect_result)):conf = detect_result[i]['confidence']xmin = int(detect_result[i]['xmin'])ymin = int(detect_result[i]['ymin'])xmax = int(detect_result[i]['xmax'])ymax = int(detect_result[i]['ymax'])if conf > self.confidence:box_list.append([xmin, ymin, xmax, ymax,conf])return box_listdetect=PeopleDetect(repo_or_dir="yolov5", weight_path='weight/best.pt', confidence=0.01)images_path="/home/save_images"
save_path="/home/errors"
Filelist = []
for home, dirs, files in os.walk(images_path):for filename in files:Filelist.append(os.path.join(home, filename))start_time=time.time()
image_list=[]
count=0
for ind,i in enumerate( Filelist):try:image_ori=cv2.imread(i)if len(image_list)<128:image_list.append(image_ori[:,:,-1])else:res=detect.start(image_list)image_list=[]print(int(time.time() - start_time) / int(ind))except (Exception,BaseException)as e:print(traceback.format_exc())

测试结果

以下结果使用RTX3080 测试得出,imgsize为640,model为5s 

batch

GPU显存/MB

单帧耗时/sFPS
115000.0333
816000.0250
1617000.02150
3228000.02150
6436000.018950
10046000.021750
12854000.021850
20074000.02250

相关文章:

Yolov5 batch 推理

前言 想要就有了 代码 import shutil import time import traceback import torchimport os import cv2 class PeopleDetect(object):def __init__(self, repo_or_dir, weight_path, confidence) -> None:self.model torch.hub.load(repo_or_dir, "custom", p…...

【ARFoundation学习笔记】ARFoundation基础(下)

写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏&#xff0c;更多详细内容请阅读原文。 文章目录 TrackablesTrackableManager可跟踪对象事件管理可跟踪对象 Session管理 Trackables 在AR Foundation中&#xff0c;平面…...

《UML和模式应用(原书第3版)》2024新修订译本部分截图

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 机械工业出版社即将在2024春节前后推出《UML和模式应用&#xff08;原书第3版&#xff09;》的典藏版。 受出版社委托&#xff0c;UMLChina审校了原中译本并做了一些修订。同比来说&a…...

JSP 学生成绩查询管理系统eclipse开发sql数据库serlvet框架bs模式java编程MVC结构

一、源码特点 JSP 学生成绩查询管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;比较流行的servlet框架系统具有完整的源代码和数据库&#xff0c;eclipse开发系统主要采用B/S模式 开发。 java 学生成绩查询管理系统 代码下载链接…...

技术分享 | app自动化测试(Android)-- 属性获取与断言

断言是 UI 自动化测试的三要素之一&#xff0c;是 UI 自动化不可或缺的部分。在使用定位器定位到元素后&#xff0c;通过脚本进行业务操作的交互&#xff0c;想要验证交互过程中的正确性就需要用到断言。 常规的UI自动化断言 分析正确的输出结果&#xff0c;常规的断言一般包…...

flutter实现上拉到底部加载更多数据

实现上拉加载数据&#xff0c;效果如下&#xff1a; flutter滚动列表加载数据 使用的库主要是infinite_scroll_pagination , 安装请查看官网 接口用的是https://reqres.in/提供的接口 请求接口用到的库是dio 下面主要是介绍如何使用infinite_scroll_pagination实现上拉加载…...

UE4 Niagara Module Script 初次使用笔记

这里可以创建一个Niagara模块脚本 创建出来长这样 点击号&#xff0c;输出staticmesh&#xff0c;点击它 这样就可以拿到对应的一些模型信息 这里的RandomnTriCoord是模型的坐标信息 根据坐标信息拿到位置信息 最后的Position也是通过Map Set的号&#xff0c;选择Particles的P…...

【Spring Boot 源码学习】JedisConnectionConfiguration 详解

Spring Boot 源码学习系列 JedisConnectionConfiguration 详解 引言往期内容主要内容1. RedisConnectionFactory1.1 单机连接1.2 集群连接1.3 哨兵连接 2. JedisConnectionConfiguration2.1 RedisConnectionConfiguration2.2 导入自动配置2.3 相关注解介绍2.4 redisConnectionF…...

联想服务器-HTTP boot安装Linux系统

HTTP boot与传统PXE的主要差异 HTTP不再需要使用UDP协议的tftp服务&#xff08;连接不可靠、不支持大文件&#xff09;了&#xff0c;只需要dhcp 和http 两个服务即可&#xff0c;支持较稳定的大文件传输。 实验环境 ThinkSystem服务器SR650V2 SR660V2 通过HTTP boot安装Cen…...

容器滚动更新过程中流量无损

应用在发布或重启的期间会出现少量的 5xx 异常&#xff0c;应该如何解决&#xff1f; 我们发现导致流量有损的原因有很多&#xff0c;比如&#xff1a; 上线时&#xff0c;应用在就绪前收到流量&#xff0c;导致请求无法被处理&#xff1b; 下线时&#xff0c;应用没有做优雅…...

深入理解JS中的this

1、浅谈this 1.1、调用位置 在学习this的绑定过程之前&#xff0c;首先要理解调用位置&#xff0c;即函数在代码中被调用的位置&#xff0c;因此我们需要分析调用栈&#xff0c;看以下代码 function baz(){// 当前调用栈是baz// 因此调用位置就是全局作用域console。log(&qu…...

rust 基础数据类型

默认类型 大部分情况下&#xff0c;rust 可以基于上下文自动推导出变量的类型。下面代码中&#xff0c;变量 x 没有显式&#xff0c;rust 默认是 i32 类型。 fn main() {let x 5; }但也有一些例外情况&#xff0c;比如&#xff0c;字符串类型的转换中变量 x 的类型&#xff…...

ELK极简上手

目录 引言 首先&#xff0c;下载相关的包 其次&#xff0c;安装启动elasticsearch 下一步&#xff0c;安装并启动logstash 最后&#xff0c;安装并启动kibana 进一步的&#xff0c;测试数据的流动 引言 最近整理电脑发现之前的一篇ELK极简入门笔记&#xff0c;现整理发出…...

在 JavaScript 中,变量的作用域是如何确定的?

在 JavaScript 中&#xff0c;变量的作用域是由作用域链&#xff08;Scope Chain&#xff09;来确定的。作用域链是指变量在执行期间访问的作用域的链式结构。 JavaScript 中的作用域分为全局作用域和局部作用域&#xff08;函数作用域和块级作用域&#xff09;。 全局作用域…...

常见面试题-TCP三次握手四次挥手

TCP 三次握手/四次挥手 参数用途SYN用于启动和建立连接时&#xff0c;同步设备之间的序列号。0到2^32 - 1的随机数。ACK向另一端确认已经收到 SYN&#xff0c;数值为收到 SYN 增一。SYN-ACK确认之前收到了 SYN&#xff0c;数值为自定义值。FIN终止连接。RST重置连接。 三次握…...

前端框架Vue学习 ——(六)Vue组件库Element

文章目录 Element 介绍快速入门常见组件表格分页Dialog 对话框组件表单 Container 布局容器 Element 介绍 Element&#xff1a;是饿了么团队研发的&#xff0c;一套为开发者、 设计师和产品经理准备的基于Vue 2.0的桌面端组件库。 组件&#xff1a;组成网页的部件&#xff0c;…...

第六章:Property-based Testing and Test Oracles

文章目录 Test OraclesActive and Passive Test OraclesTypes of Test OraclesFormal, executable specificationsSolved examplesMetamorphic oraclesAlternative implementations (备用实现)Heuristic oracles (启发式)The Golden Program!Oracle Deviation (Oracle偏差)T…...

react生命周期函数

React 组件的生命周期可分为三大阶段&#xff1a;挂载阶段&#xff08;Mounting&#xff09;、更新阶段&#xff08;Updating&#xff09;和卸载阶段&#xff08;Unmounting&#xff09;。 1.挂载阶段&#xff08;Mounting&#xff09; 在组件被插入到 DOM 中后&#xff0c;会…...

QSqlDatabase使用Sqlite

QSqlDatabase使用Sqlite Sqlite本身就可以被内嵌在程序中&#xff0c;QSqlDatabase也自带Sqlite驱动&#xff0c;无需任何第三方依赖&#xff0c;可以直接使用 QSqlDatabase _db QSqlDatabase::addDatabase("QSQLITE"); QString dbPath "/path/to/xxx.db&qu…...

宝马——使用人工智能制造和驾驶汽车

德国汽车制造商宝马(BMW)每年在全球制造和销售250万台汽车&#xff0c;其品牌包括宝马、MINI和劳斯莱斯。 宝马汽车以其卓越的性能和对新技术的应用而著名&#xff0c;它是道路上最精致的汽车之一&#xff0c;并且和其竞争对手戴姆勒(Daimler)一样&#xff0c;在将自动驾驶汽车…...

4 种可靠的 OPPO 手机联系人备份到电脑的方法

OPPO 手机的全球出货量常年位居前五&#xff0c;足以见得它已经获得了越来越多用户的认可。对于年轻群体而言&#xff0c;入手一款高性价比的 OPPO Reno4 SE 这类机型是非常不错的选择。但日常使用中&#xff0c;误操作、进水等意外都可能导致数据丢失&#xff0c;为了避免这类…...

计算机毕业设计springboot众筹系统 基于SpringBoot的校园项目众筹融资平台设计与实现 高校创新创业众筹服务与资金管理系统构建研究

计算机毕业设计springboot众筹系统&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 随着我国经济的高速发展与人们生活水平的日益提高&#xff0c;人们对生活质量的追求也多种多样…...

Doris从入门到上天系列第六篇:Doris中修改表的操作

一&#xff1a;修改表使用 ALTER TABLE 命令可以对表进行修改&#xff0c;包括 partition 、rollup、schemachange、rename 和 index 五种。语法&#xff1a;ALTER TABLE [database.]table alter_clause1[, alter_clause2, ...];alter_clause 分为 partition 、rollup、schema …...

FastAdmin+PHPStudy保姆级安装教程:从下载到配置数据库的完整流程

FastAdminPHPStudy极速开发环境搭建实战指南 作为一名长期使用FastAdmin框架的开发者&#xff0c;我深知一个顺畅的本地开发环境对项目效率的影响。本文将带你从零开始&#xff0c;用最简洁的方式完成FastAdmin与PHPStudy的完美搭配&#xff0c;避开那些新手常踩的"坑&quo…...

Android Gradle - Gradle 自定义插件(Build Script 自定义插件、buildSrc 自定义插件、独立项目自定义插件)

一、Build Script 自定义插件 1、基本介绍插件代码直接写在模块级 build.gradle 文件中逻辑非常简单&#xff0c;且仅在该模块使用2、演示 &#xff08;1&#xff09;具体实现 在模块级 build.gradle 文件中定义插件 class SimpleBuildScriptPlugin implements Plugin<Proje…...

告别手推雅可比!用Ceres自动求导搞定SLAM中的BA优化(附完整代码)

告别手推雅可比&#xff01;用Ceres自动求导搞定SLAM中的BA优化&#xff08;附完整代码&#xff09; 在视觉SLAM系统的开发中&#xff0c;Bundle Adjustment&#xff08;BA&#xff09;优化是提升定位与建图精度的关键环节。传统实现需要手动推导复杂的雅可比矩阵&#xff0c;不…...

同架构大数据量HGDB到HGDB数据迁移

文章目录环境文档用途详细信息环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7,银河麒麟 &#xff08;X86_64&#xff09; 版本&#xff1a;4.5.8 文档用途 本文介绍同架构大数据量情况下&#xff0c;为了减少停机时间&#xff0c;先搭建流复制同步数据&…...

VSCode配置STM32标准库开发环境:手把手解决core_cm3.c编译报错与头文件路径问题

VSCode搭建STM32开发环境&#xff1a;解决标准库兼容性与智能感知难题 当开发者从Keil或IAR转向VSCode时&#xff0c;往往会遇到两个棘手的拦路虎&#xff1a;标准库与GCC的兼容性问题&#xff0c;以及代码智能感知的缺失。本文将深入解决这两个核心痛点&#xff0c;带你构建一…...

Anaconda Prompt卡在solving environment?别慌,三步搞定清华镜像源配置(附.condarc文件)

Anaconda环境配置卡顿&#xff1f;清华镜像源优化全指南 刚接触Python数据科学的新手们&#xff0c;十有八九会在Anaconda环境配置这一步栽跟头。特别是当看到命令行窗口里"solving environment"的提示一直转圈却迟迟没有进展时&#xff0c;那种等待的煎熬简直让人抓…...

深度解析PDFMathTranslate:揭秘AI如何实现毫秒级学术文档翻译与精准排版保留

深度解析PDFMathTranslate&#xff1a;揭秘AI如何实现毫秒级学术文档翻译与精准排版保留 【免费下载链接】PDFMathTranslate PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译&#xff0c;支持 Google/DeepL/Ollama/Op…...