yolov5训练时参数workers与batch-size的常见问题

workers与batch-size的常见问题

  • 一、workers
  • 二、batch-size

很多新手在使用yolov5训练模型的时候会出现爆内存和爆显存问题,一般就是由于worker和batch_size参数设置过大有关,下面是解决的方法。

一、workers

train.py中关于workers设置代码如下:

parser.add_argument('--workers', type=int, default=8, 
help='maximum number of dataloader workers')

workers是指数据装载时cpu所使用的线程数,默认为8,但是按照默认的设置来训练往往会导致我们的CPU爆内存,会导致其他进程进行关闭(例如浏览器),我的电脑设置为4是刚刚可以利用完内存,可以看下图,如果我没提交的>虚拟内存+实际内存,内存就会被完全占用。
yolov5训练时参数workers与batch-size的常见问题_第1张图片

二、batch-size

parser.add_argument('--batch-size', type=int, default=4, 
help='total batch size for all GPUs')

含义:batch-size设置多少就表示一次性将多少张图片放在一起训练,就是一次往GPU哪里塞多少张图片了,如果设置的太大会导致爆显存,一般设置为8的倍数,我这里设置的是4,会一次性训练4张图片。
yolov5训练时参数workers与batch-size的常见问题_第2张图片

你可能感兴趣的:(YOLO,pytorch,目标检测)