yolov5 test.py val.py detec.py 区别在哪里呢?

用户在训练数据的时候必须使用 train.py 来进行 数据训练和验证,但我很难理解 detect.pytest.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 区别在哪里呢?相关推荐

  1. py.test --pep8 vsearch.py报错解决办法

    py.test --pep8 vsearch.py报错解决办法 使用pep8 vsearch.py替换py.test --pep8 vsearch.py即可. pep8 has been rename ...

  2. [机器学习] 训练过程中的train,val,test的区别

    转自:Caffe训练过程中的train,val,test的区别. 训练过程中的train,val,test的区别 val是validation的简称. training dataset和validat ...

  3. YoLoV5学习(4)--detect.py程序(预测图片、视频、网络流)逐段讲解~

    本章博客主要分析YoloV5代码中的detect程序代码,按照程序运行步骤顺序主要分为3大部分. 1.包与库的导入 1.1 导入安装好的python库.torch库等等 其中:argparse模块.o ...

  4. .py与.pyc文件的区别

    .py与.pyc的区别 最近发现在操作某些.py文件时,下面都有一个.pyc文件,开始以为是C/C++中的.c/cpp文件与.h文件的关系,后来经过查阅,原来Python的程序中,是把原始程序代码放在 ...

  5. YoLoV5学习(5)-- Train.py 程序文件与yolov5s模型文件讲解

    本篇博客主要是对于train文件以及yolov5s.yaml文件进行讲解,yolov5代码虽然一直有在更新但整体的框架基本相似. 1.Usage 该部分是作者的一个说明. 第一行表示我们传入的data ...

  6. py,pyc,pyw文件的区别和使用

    熟悉 python 编程的都知道 ,python 三种最常见的 py 文件格式,.py , .pyc , .pyw , 下面说一说它们各自的使用. py 文件 python最常见的文件,是python ...

  7. pythonw是什么文件_Python中.py和.pyw文件的区别 | 勤奋的小青蛙

    学习Python过程中,我们经常看到.py和.pyw文件,那么这两者有什么区别呢? 严格来说,它们之间的不同就只有一个:视窗运行它们的时候调用不同的执行程序. 视窗用 python.exe 运行 .p ...

  8. python -m xxx.py和python xxx.py的区别

    先看下python -m site作用是显示sys.path的值内容,也就是python搜索模块的目录,作用类似于linux下的PATH python -m SimpleHTTPServer 会在sy ...

  9. Python各种扩展名(py, pyc, pyw, pyo, pyd)区别

    扩展名 在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名.下面是几种扩展名的用法. py py就是最基本的源码扩展名 pyw pyw是另一种源码扩展名,跟py唯一的区别是 ...

最新文章

  1. 从内存溢出看Java 环境中的内存结构
  2. python消找出img中的src标签_使用beautifulsoup从img标签获取src
  3. 不用Linux也可以的强大文本处理方法
  4. 从入门到头秃,2018年机器学习图书TOP10
  5. python 一组数据 正态分布散点图_python高维数据型图表矩阵散点图
  6. C#相关控件使用总结
  7. mac配置OpenGL超级宝典(第7版)环境
  8. OLED显示模块(原理讲解、STM32实例操作)
  9. mysql execute stmt_mysql_stmt_execute()--MySql数据库
  10. ”标准答案没出来,我怎么知道我想表达什么?……“这样的话,根本就不仅仅是笑话,而且还是现实
  11. win10弹出计算机的内存不足,win10提示计算机显卡内存不足情况的解决办法介绍...
  12. 杭州php程序员工资一般多少,杭州Android基础一期大黑马强哥,完美收官~~欧巴,卡几嘛...
  13. html5四季特点,美国一年四季天气特点介绍
  14. 【DIP/数字图像处理】第二次习题(DCT、DFT、DWT、DHT频谱分布;证明DFT平移性质;ILF与BLF的区别)
  15. python爬取古诗文网站诗文一栏的所有诗词
  16. 浙江经信公布人工智能5大榜单 网易易盾内容安全解决方案上榜
  17. python什么是字符串_什么是Python的字符串
  18. javamagic使用教程
  19. java 一年有多少周_java中如何计算一年总共有多少周
  20. racte margin 居中 失效_圆锥滚子轴承早期失效验证及检测分析

热门文章

  1. EMC测试项及解决方案
  2. 云桌面在地产中介门店的应用分析
  3. python公众号文章_Python抓取微信公众号文章
  4. 模仿扇贝短文阅读页面
  5. JS学习之求带参函数求任意两个数和
  6. 笔记本python3.7.4详细安装教程_Python3.7安装pyaudio教程解析
  7. 最全的cmd命令大全
  8. 开Lotus notes后,单击“邮件”,打不开邮箱,弹出“远程服务器不是已知的TCP/IP”报错
  9. onLoad与onShow的区别
  10. 公司开始裁员了,33岁的我何去何从