如何无报错运行代码YOLOv6,实现目标识别?
YOLOv6是由美团视觉团队开发的

1.环境配置
我们先把YOLOv6的代码clone下来
git clone https://github.com/meituan/YOLOv6.git
安装一些必要的包
pip install pycocotools==2.0作者要求pytorch的版本是1.8.0,我的环境是1.7.0,也是可以正常运行的
pip install -r requirements_my_version.txt我除了上面那个包以外安装的东西和版本如下,安装这样装,我是可以正常运行模型的
matplotlib==3.2.2
numpy==1.18.5
opencv-python==4.1.2.30 # 注意这个地方官方提供的是opencv-python>=4.1.2,但是安装的时候告诉你没有这个版本要你从里面选,我选了30,后面可以运行
Pillow==7.1.2
PyYAML==5.3.1
requests==2.23.0
scipy==1.4.1
torch==1.7.0
torchvision==0.8.1
tqdm==4.41.0# plotting ------------------------------------pandas==1.1.4
seaborn==0.11.0# deep_sort -----------------------------------easydict# torchreidCython
h5py
six
tb-nightly
future
yacs
gdown
flake8
yapf
isort==4.3.21
imageio2.运行代码实现识别
如果你要从头重新自己训练一个YOLOv6的识别,自己训练一个模型,你想复现reproduce可以参考这个代码
https://github.com/meituan/YOLOv6/blob/main/docs/Train_coco_data.md
Inference
视频计数
基于你自己的数据集,而不是训练集COCO,进行识别(打方框),并将识别的结果保存成文件存在本地
# P5 models
# 官方提供的指令
python tools/infer.py --weights yolov6s.pt --source img.jpg / imgdir / video.mp4
# 每个参数的含义
python 运行的代码文件的路径 --weights 模型文件的名字或路径+名字 --source 图片、图片所在文件夹、视频文件python ./tools/infer.py --weights ./yolov6s.pt --source ./eval_my/dandong.mp4
# 记得模型参数那个一定要写./,否则如果你直接写yolov6s.pt的话,会把模型又下载一遍运行后,识别完成的视频都保存在这个位置/runs/inference/exp

打开一看,识别的都很好,(1)远处小的车也可以识别出来,yolo5只能识别出近处的车(2)每个车识别出来,置信度更高

上面使用的那个模型yolov6s.pt是作者所说的P5 model,其实作者还提供训练的更好、参数更多、速度更快的模型P6 model
https://github.com/meituan/YOLOv6/releases/tag/0.3.0
下面那些带6的就是P6,不带6的就是P5模型

更换P6模型也很简单,--weights这个参数后面的模型文件换成 带s的P6模型即可
# P6 models
python tools/infer.py --weights ./yolov6s6.pt --source ./eval_my/dandong.mp4经过美团优化后的模型连椅子、和自行车都能识别出来,你说厉不厉害?

图片计数
python tools/infer.py --weights yolov6s.pt --source ./eval_my/15_persons.PNG
这张原图

识别出来,是这样.(1)每个人也是都能识别出来的,尤其是特别小的人能够识别出来,(2)除了特别小的那种人,其他的识别的置信度都很高

本机摄像头
# 官方教程
python tools/infer.py --weights yolov6s.pt --webcam --webcam-addr 0
# --webcam 跟着网络摄像头的网址
# --webcam-addr 加0是本机摄像头# 这样是可以运行的
python tools/infer.py --weights yolov6s.pt --webcam-addr 0可以运行是可以运行,但是我识别过程没显示,识别结果没有保存。具体怎么用,以后再研究。
Evaluation
基于COCO数据集,进行识别,并展示performance score
python -m torch.distributed.launch --nproc_per_node 8 tools/train.py --batch 256 --conf configs/yolov6s_finetune.py --data data/dataset.yaml --fuse_ab --device 0,1,2,3,4,5,6,7这个我不知道COCO数据集怎么摆放,所以跑了会报错。后面用到再来解决吧。
Traceback (most recent call last):File "tools/eval.py", line 164, in <module>main(args)File "tools/eval.py", line 159, in mainrun(**vars(args))File "/home/albert/anaconda3/envs/py380tc170/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 26, in decorate_contextreturn func(*args, **kwargs)File "tools/eval.py", line 141, in rundata = Evaler.reload_dataset(data, task) if isinstance(data, str) else dataFile "/media/F:/FILES_OF_ALBERT/IT_paid_class/graduation_thesis/model_innov/Yolov6_DeepSort_Pytorch/yolov6/YOLOv6/yolov6/core/evaler.py", line 437, in reload_datasetraise Exception('Dataset not found.')
Exception: Dataset not found.
这个repo写的很详细,包括了这些东西
代码运行的教程(1)基于COCO数据集训练模型,完成复现(2)基于自定义的数据训练、精调模型(3)测试集上进行测试,测试速度(4)对模型进行量化压缩
相关文章:
如何无报错运行代码YOLOv6,实现目标识别?
YOLOv6是由美团视觉团队开发的1.环境配置我们先把YOLOv6的代码clone下来git clone https://github.com/meituan/YOLOv6.git安装一些必要的包pip install pycocotools2.0作者要求pytorch的版本是1.8.0,我的环境是1.7.0,也是可以正常运行的pip install -r requirement…...
SQL91 返回购买价格为 10 美元或以上产品的顾客列表
描述OrderItems表示订单商品表,含有字段订单号:order_num、订单价格:item_price;Orders表代表订单信息表,含有顾客id:cust_id和订单号:order_numOrderItems表order_numitem_pricea110a21a21a42a…...
Goreplay使用教程0221
1、简介Goreplay 是用 Golang 写的一个HTTP 实时流量复制工具。功能更强大,支持流量的放大、缩小,频率限制,还支持把请求记录到文件,方便回放和分析,也支持和 ElasticSearch 集成,将流量存入 ES 进行实时分…...
9、GPT-1-2-3
GPT GPT系列即基于Transformer Decoder实现的预训练语言模型,在各类复杂的NLP任务中都取得了不错的效果,如文章生成、代码生成、机器翻译,Q&A等。 对于一个新的任务,GPT仅仅需要非常少的数据便可以理解该任务,并…...
Python-四分位数计算
怎么计算四分位数先理解四分位数怎么计算:可参考https://zhuanlan.zhihu.com/p/235345817,假设数列一共有n个数1)当 (n1)/4可以整除时,Q1第在(n1)/4位Q2第 (n1)/2位Q3第(n1)/4*3位举…...
一个简单的步骤让你的 Python 代码更干净
说起来容易做起来难,我们都知道代码可读性非常重要,但是写的时候总是随心所欲,不考虑类型提示、import 排序、PEP8 规范。今天分享一个小技巧,通过一个简单的步骤就可以让你的 Python 代码更干净。这就是 pre-commit:可…...
linux集群技术(二)--keepalived(高可用集群)(一)
高可用集群简介keepalived简介 1.高可用集群简介 1.1什么是高可用集群 高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务&am…...
C++中的类型转换
目录 一、C语言中的类型转换 二、C中的类型转化 2.1 static_cast 2.2 const_cast2.2 const_cast 2.3reinterpret_cast 重解释转换 2.4 dynamic_cast 动态转换(!!!) 3. explicit 防止隐式类型转化 一、C语言…...
如何使用raw socket发送UDP报文
前面写的一篇《Linux下如何在数据链路层接收原始数据包》举了一个实例,使用raw socket接收UDP数据报,但是发送一个数据包比接收要复杂一些,本文以一个实例说明如何使用raw socket发送一个UDP报文。 1. 前言 阅读本文前可以考虑先阅读一下我的另外一篇文章《Linux下如何在数据…...
【C++】文件IO流
一起来康康C中的文件IO操作吧 文章目录1.operator bool2.C文件IO流3.文件操作3.0 关于按位与的说明3.1 ifstream3.2 ofstream流插入文本3.3 ostringstream/istringstream3.4 stringstream3.5使用stringstream的注意事项结语1.operator bool 之前写OJ的时候,就已经用…...
JavaScript高级程序设计读书分享之4章——4.2执行上下文与作用域
JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 执行上下文 变量或函数的上下文决定 了它们可以访问哪些数据,以及它们的行为。在浏览器中,全局上下文就是我们常说的 window 对象(第 12 章会详细介绍)&am…...
函数的定义与声明
目录 1.函数的定义 2.函数声明 2.1 函数本地声明 2.2 函数外部声明 2.2.1函数的外部声明的好处和坏处 3.变量定义与声明 3.1变量定义 3.2变量声明 4.结构体的定义与声明 4.1结构体的定义 4.2结构体的声明 1.函数的定义 函数的定义即函数的具体实现。 2.函数声明 函数…...
C#部署非安装版(绿色版)mysql
C#部署非安装版(绿色版)mysql场景实现步骤场景 项目由bs和cs端组成,bs端的数据存储在了mysql中,cs依赖bs运行,bs会显示一些实时的信息。 需求是给客户一个安装包,简易操作就可安装完成。 使用版本…...
【RecBole-GNN/源码】RecBole-GNN中lightGCN源码解析
如果觉得我的分享有一定帮助,欢迎关注我的微信公众号 “码农的科研笔记”,了解更多我的算法和代码学习总结记录。或者点击链接扫码关注【RecBole-GNN/源码】RecBole-GNN中lightGCN源码解析 【RecBole-GNN/源码】RecBole-GNN中lightGCN源码解析 原文&…...
基于UIAutomation+Python+Unittest+Beautifulreport的WindowsGUI自动化测试框架common目录解析
文章目录1 框架工具说明2 技术栈说明3 框架截图4 源码解析/common目录4.1 common/baseinfo.py4.2 common/creenShot.py4.3 common/logOut.py4.4 common/reportOut.py4.5 common/sendMail.py注: 1、本文为本站首发,他用请联系作者并注明出处,谢…...
c++提高篇——queque容器
一、queque容器基本概念 Queue是一种先进先出(FIFO)的教据结构,它有两个出口 队列容器允许从一端新增元素,从另一端移除元素。队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为队列中进数据。 queque容器可以形象化为生活中…...
MyBatis-XML映射文件详解
一、XML 映射器 1.概述 使用 xml 文件去配置 SQL 代码,比传统的 jdbc 简单方便,能够少写代码,减少使用成本,提高工作效率。 1.1SQL 映射文件中的顶级元素 cache – 该命名空间的缓存配置。 cache-ref – 引用其它命名空间的缓…...
基于Java+SpringBoot+Vue+Uniapp前后端分离健身预约系统设计与实现
博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…...
webstom找不到vue全局组件
我真多服气,引入了自动组件注册 // 自动引入组建import { ElementPlusResolver } from unplugin-vue-components/resolversComponents({directoryAsNamespace: true,resolvers: [ElementPlusResolver()]}),生成了 components.d.ts 但是我在webstom中定义了标签 除非…...
ESP32设备驱动-内置霍尔磁力传感器数据读取
内置霍尔磁力传感器数据读取 文章目录 内置霍尔磁力传感器数据读取1、ESP32霍尔磁力传感器介绍2、软件准备3、硬件准备4、读取霍尔磁力传感值5、运行结果ESP32开发板具有内置霍尔效应传感器,可检测周围磁场的变化。本文将介绍如何在Arduino IDE中读取ESP32霍尔效应传感器的数据…...
[Linux][虚拟串口]x一个特殊的字节
目标:构建带上下文记忆的猫咪聊天机器人 先看代码: from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.messages import SystemMessage,HumanMessage,AIMessage import os from dote…...
忍者像素绘卷:天界画坊Python入门实战,3步搭建AI绘画环境
忍者像素绘卷:天界画坊Python入门实战,3步搭建AI绘画环境 1. 前言:当Python遇见像素艺术 还记得小时候玩过的8-bit游戏吗?那些由一个个小方块组成的像素世界,如今正以全新的方式回归。天界画坊是一个开源的AI绘画工具…...
从零搭建到百万QPS:Python MCP服务器模板实战对比(含Docker镜像体积、CI/CD兼容性、调试友好度全维度打分)
第一章:从零搭建到百万QPS:Python MCP服务器模板实战对比总览在构建高并发、低延迟的MCP(Model Control Protocol)服务时,Python凭借其生态丰富性与开发效率成为主流选型之一,但原生GIL限制与异步模型差异常…...
30天小白进阶AI大神:收藏这份路线图,免费工具玩转大模型!
本文为AI学习新手提供了30天的系统学习路线图,涵盖了AI技术栈的三个层次:应用层、模型层和基础设施层。文章建议从应用层入手,逐步向下理解,并推荐了主流AI工具的对比及免费工具的入门使用。此外,还提供了给初学者的五…...
浅谈MIKE URBAN转SWMM的方法
01 前言近期有群友咨询MIKE URBAN怎么转换成SWMM的INP文件格式,其实这个是很简单的,前提是你对两个软件格式足够熟悉,另一方面,很多年前SWMM就开发了inpPNS软件。可以利用这个软件便可实现转换,小编抽时间给大家分享下…...
树莓派4B上跑YOLOv8n-NCNN,实测2FPS?别急,这有份从模型转换到C++代码的完整调优指南
树莓派4B上跑YOLOv8n-NCNN性能调优实战:从2FPS到流畅推理的完整指南 当你在树莓派4B上成功部署YOLOv8n-NCNN后,发现推理速度只有可怜的2FPS时,是否感到沮丧?别担心,这不是硬件性能的终点。本文将带你深入分析性能瓶颈&…...
计算机毕业设计:Python汽车销售数据爬虫可视化分析平台 Flask框架 requests爬虫 可视化 数据分析 大数据 机器学习 大模型(建议收藏)✅
博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...
Ansible Playbook在JumpServer中的高级用法:自动化运维效率提升技巧
Ansible Playbook在JumpServer中的高阶实战:效率倍增的自动化运维策略 开篇:当堡垒机遇上自动化运维 想象一下这样的场景:凌晨三点,服务器突然告警,传统运维需要手动登录每台机器检查状态,而熟练使用Ansibl…...
如何从业务出发,设计一个可落地的智能客服 RAG 系统
一、核心原则以业务需求为锚点,而不是技术驱动很多 RAG 项目失败的根因:没搞清楚“解决谁的问题”一开始就堆模型、堆技术👉 正确做法:先拆需求,再设计系统二、三方核心需求拆解设计前必须明确三类角色目标:…...
3步颠覆文献管理:让Zotero格式修复效率提升10倍的实战指南
3步颠覆文献管理:让Zotero格式修复效率提升10倍的实战指南 【免费下载链接】zotero-format-metadata Linter for Zotero. A plugin for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and item…...
