当前位置: 首页 > 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;在将自动驾驶汽车…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...