yolov5 test.py val.py detec.py 区别在哪里呢?
yolov5 test.py val.py detec.py 区别在哪里呢?
用户在训练数据的时候必须使用 train.py 来进行 数据训练和验证,但我很难理解 detect.py
和 test.py
之间的区别。应该在一个数据集中的(看不见的)测试数据上运行这两者中的哪一个?
首先: test.py
最近被重命名为 val.py
!
这 3 个文件是为不同目的而设计的,并使用具有不同设置的不同数据加载器。
train.py
数据加载器旨在兼顾速度和准确性,val.py
旨在获得验证数据集上的最佳 mAP,detect.py
旨在真实世界中获得最佳的推理结果。
每个文件中的几个重要方面包括:
train.py
trainloader
: LoadImagesAndLabels():旨在加载训练数据集图像和标签。增强能力可以选择启用。
# Trainloader dataloader, dataset = create_dataloader(train_path, imgsz, batch_size, gs, opt, hyp=hyp, augment=True, cache=opt.cache_images, rect=opt.rect, rank=rank, world_size=opt.world_size, workers=opt.workers, image_weights=opt.image_weights, quad=opt.quad, prefix=colorstr('train: '))
testloader
: LoadImagesAndLabels():旨在加载 val 数据集图像和标签。增强能力但被禁用。
testloader = create_dataloader(test_path, imgsz_test, batch_size * 2, gs, opt, # testloader hyp=hyp, cache=opt.cache_images and not opt.notest, rect=True, rank=-1, world_size=opt.world_size, workers=opt.workers, pad=0.5, prefix=colorstr('val: '))[0]
- image size: 640
- rectangular inference: False
- confidence threshold: 0.001
- iou threshold: 0.6
- multi-label: True
- padding: None
val.py
dataloader
: LoadImagesAndLabels():设计用于加载训练、验证、测试数据集图像和标签。增强能力但被禁用。
dataloader = create_dataloader(data[task], imgsz, batch_size, gs, single_cls, pad=0.5, rect=True, prefix=colorstr(f'{task}: '))[0]
- image size: 640
- rectangular inference: True
- confidence threshold: 0.001
- iou threshold: 0.6
- multi-label: True
- padding: 0.5 * maximum stride
detect.py
dataloaders
(多个):设计用于加载多种类型的媒体(images, videos, globs, directories, streams)。
# Set Dataloader vid_path, vid_writer = None, None if webcam: view_img = check_imshow() cudnn.benchmark = True # set True to speed up constant image size inference dataset = LoadStreams(source, img_size=imgsz, stride=stride) else: dataset = LoadImages(source, img_size=imgsz, stride=stride)
- image size: 640
- rectangular inference: True
- confidence threshold: 0.25
- iou threshold: 0.45
- multi-label: False
- padding: None
YOLOv5 PyTorch Hub Inference
models.autoShape()
类用于图像加载、预处理、推理和 NMS。有关更多信息,请参阅 YOLOv5 PyTorch Hub 教程
class autoShape(nn.Module): # input-robust model wrapper for passing cv2/np/PIL/torch inputs. Includes preprocessing, inference and NMS conf = 0.25 # NMS confidence threshold iou = 0.45 # NMS IoU threshold classes = None # (optional list) filter by class def __init__(self, model): super(autoShape, self).__init__() self.model = model.eval() def autoshape(self):
- image size: 640
- rectangular inference: True
- confidence threshold: 0.25
- iou threshold: 0.45
- multi-label: False
- padding: None
yolov5 test.py val.py detec.py 区别在哪里呢?相关推荐
- py.test --pep8 vsearch.py报错解决办法
py.test --pep8 vsearch.py报错解决办法 使用pep8 vsearch.py替换py.test --pep8 vsearch.py即可. pep8 has been rename ...
- [机器学习] 训练过程中的train,val,test的区别
转自:Caffe训练过程中的train,val,test的区别. 训练过程中的train,val,test的区别 val是validation的简称. training dataset和validat ...
- YoLoV5学习(4)--detect.py程序(预测图片、视频、网络流)逐段讲解~
本章博客主要分析YoloV5代码中的detect程序代码,按照程序运行步骤顺序主要分为3大部分. 1.包与库的导入 1.1 导入安装好的python库.torch库等等 其中:argparse模块.o ...
- .py与.pyc文件的区别
.py与.pyc的区别 最近发现在操作某些.py文件时,下面都有一个.pyc文件,开始以为是C/C++中的.c/cpp文件与.h文件的关系,后来经过查阅,原来Python的程序中,是把原始程序代码放在 ...
- YoLoV5学习(5)-- Train.py 程序文件与yolov5s模型文件讲解
本篇博客主要是对于train文件以及yolov5s.yaml文件进行讲解,yolov5代码虽然一直有在更新但整体的框架基本相似. 1.Usage 该部分是作者的一个说明. 第一行表示我们传入的data ...
- py,pyc,pyw文件的区别和使用
熟悉 python 编程的都知道 ,python 三种最常见的 py 文件格式,.py , .pyc , .pyw , 下面说一说它们各自的使用. py 文件 python最常见的文件,是python ...
- pythonw是什么文件_Python中.py和.pyw文件的区别 | 勤奋的小青蛙
学习Python过程中,我们经常看到.py和.pyw文件,那么这两者有什么区别呢? 严格来说,它们之间的不同就只有一个:视窗运行它们的时候调用不同的执行程序. 视窗用 python.exe 运行 .p ...
- python -m xxx.py和python xxx.py的区别
先看下python -m site作用是显示sys.path的值内容,也就是python搜索模块的目录,作用类似于linux下的PATH python -m SimpleHTTPServer 会在sy ...
- Python各种扩展名(py, pyc, pyw, pyo, pyd)区别
扩展名 在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名.下面是几种扩展名的用法. py py就是最基本的源码扩展名 pyw pyw是另一种源码扩展名,跟py唯一的区别是 ...
最新文章
- 从内存溢出看Java 环境中的内存结构
- python消找出img中的src标签_使用beautifulsoup从img标签获取src
- 不用Linux也可以的强大文本处理方法
- 从入门到头秃,2018年机器学习图书TOP10
- python 一组数据 正态分布散点图_python高维数据型图表矩阵散点图
- C#相关控件使用总结
- mac配置OpenGL超级宝典(第7版)环境
- OLED显示模块(原理讲解、STM32实例操作)
- mysql execute stmt_mysql_stmt_execute()--MySql数据库
- ”标准答案没出来,我怎么知道我想表达什么?……“这样的话,根本就不仅仅是笑话,而且还是现实
- win10弹出计算机的内存不足,win10提示计算机显卡内存不足情况的解决办法介绍...
- 杭州php程序员工资一般多少,杭州Android基础一期大黑马强哥,完美收官~~欧巴,卡几嘛...
- html5四季特点,美国一年四季天气特点介绍
- 【DIP/数字图像处理】第二次习题(DCT、DFT、DWT、DHT频谱分布;证明DFT平移性质;ILF与BLF的区别)
- python爬取古诗文网站诗文一栏的所有诗词
- 浙江经信公布人工智能5大榜单 网易易盾内容安全解决方案上榜
- python什么是字符串_什么是Python的字符串
- javamagic使用教程
- java 一年有多少周_java中如何计算一年总共有多少周
- racte margin 居中 失效_圆锥滚子轴承早期失效验证及检测分析
热门文章
- EMC测试项及解决方案
- 云桌面在地产中介门店的应用分析
- python公众号文章_Python抓取微信公众号文章
- 模仿扇贝短文阅读页面
- JS学习之求带参函数求任意两个数和
- 笔记本python3.7.4详细安装教程_Python3.7安装pyaudio教程解析
- 最全的cmd命令大全
- 开Lotus notes后,单击“邮件”,打不开邮箱,弹出“远程服务器不是已知的TCP/IP”报错
- onLoad与onShow的区别
- 公司开始裁员了,33岁的我何去何从