Yolo V5 学习 (预处理 create_dataloader )
一、调用create_dataloader完成加载数据与预处理
create_dataloader函数用于创建数据加载器,它可以从数据集中加载数据并进行预处理。
这个函数返回一个数据加载器和一个数据集对象。
代码如下(示例):
train_loader, dataset = create_dataloader(train_path,
imgsz,
batch_size // WORLD_SIZE,
gs,
single_cls,
hyp=hyp,
augment=True,
cache=None if opt.cache == 'val' else opt.cache,
rect=opt.rect,
rank=LOCAL_RANK,
workers=workers,
image_weights=opt.image_weights,
quad=opt.quad,
prefix=colorstr('train: '),
shuffle=True,
seed=opt.seed)
train_path
数据集的路径
imgsz
图片的大小
batch_size
批处理大小
gs
步长
single_cls
是否为单类别
hyp=hyp
超参数
augment=True
是否进行数据增强
cache=None if opt.cache == ‘val’ else opt.cache
是否使用缓存文件技巧
rect=opt.rect
是否使用矩形训练
rank=LOCAL_RANK
进程等级
workers=workers
工作进程数量
image_weights=opt.image_weights
是否使用图像权重
quad=opt.quad
是否切割为四份或九份
prefix=colorstr('train: ')
前缀字符串
超参数(Hyperparameters)是指在机器学习模型中,需要人为设定的参数。这些参数通常不能通过训练数据来学习,而是需要人为设定。例如,在神经网络中,学习率、批处理大小、迭代次数等都是超参数。超参数的选择会影响模型的性能,因此需要通过实验来确定最优的超参数。
None if opt.cache == ‘val’ else opt.cache
如果opt.cache的值为’val’,则不使用缓存文件技巧None,否则使用opt.cache指定的缓存文件技巧。
缓存文件技巧是指在第一次读取数据集时,将标签文件处理成一个缓存文件。这样,在重新读取数据集时,可以直接搜索数据集中是否存在缓存文件。这种方法可以大大加快数据集的加载速度。此外,相对于原始的文本标签文件,缓存文件还可以保存很多额外信息,例如数据集的大小、未找到标签文件对应的图片数量等。
rank
表示进程的等级。在分布式训练中,每个进程都有一个唯一的等级,用于区分不同的进程。在这段代码中,rank 参数被传递给 create_dataloader 函数,用于创建数据加载器。