CBIS-DDSM kaggle如何设定Dataloader?

https://www.kaggle.com/datasets/awsaf49/cbis-ddsm-breast-cancer-image-dataset
如上kaggle网址的资料集, 我目前已经有了full, cropped, ROI图片拆开的文件夹文件, 并且也有了框住ROI的bounding box坐标(x y w h).

问题来了, 我要进行下一步YOLOv5, or v7的训练:
“我该如何设定Dataset和Dataloader”
进而接下去训练我的YOLO模型??

很不懂怎么设定Dataset和Dataloader耶!
感觉挺复杂

喔对了請不要用ChatGPT的答案, 因为我用过了。
謝謝!

如何设定Kaggle上的Dataloader
在Kaggle上登录,然后打开要使用的数据集。
在数据集页面上,点击“数据”选项卡,然后点击“下载数据”按钮。
将数据集文件解压缩到您的本地文件夹中。
使用Python的Dataloader库,从本地文件夹中加载数据集文件。
使用Dataloader库提供的API,将数据集文件转换为可以在模型中使用的格式。

你把代码发给我看一下

第一步:你需要准备一组所要训练的图片数据。这个数据中包含你要检测的类别信息和每个类别所涉及的图片数量。

第二步:用一些工具将数据中的所有图片处理成YOLO对应的输入格式,并可以根据图片中的每个目标,用自定义的bouding box进行标记,并将标记好的结果存储在txt文件中。

第三步:准备编写数据加载器(DataLoader),以从txt文件中加载图片及目标信息。

第四步:准备编写一个让网络易于理解该模型的数据集(Dataset),在这里,DataLoader将与Dataset进行逐步的对接。

第五步:设置好模型参数然后训练

对于如何设定YOLO模型的Dataset和Dataloader,这是一件复杂的事情,因为它需要涉及到图像预处理,数据加载等多个方面。这里有一个大致的思路:

准备数据:

将图片读入内存,使用Pillow库或OpenCV库等。
使用已有的bounding box坐标信息为图片打标签,并保存在数据集的标签中。
实现Dataset:

通过继承torch.utils.data.Dataset实现自己的数据集类,并实现__len__,__getitem__方法。
__len__方法返回数据集中图片的数量。
__getitem__方法根据给定的索引返回一个样本(图片和标签)。
实现Dataloader:

实例化一个torch.utils.data.DataLoader,将自己实现的数据集作为参数传入。
指定batch_size,num_workers等参数,以确定加载数据的方式。
训练模型:

定义YOLO模型的结构和损失函数。
使用dataloader迭代训练数据,更新模型的参数。
计算训练误差,并监测模型的效果。
这些都是大致的步骤,但是具体实现方法还是要根据您的需求和数据来定。请注意

CBIS-DDSM是一个数据集,可以在Kaggle上获取。在使用PyTorch深度学习框架进行训练时,通常需要使用Dataloader加载数据。下面是如何设置Dataloader的步骤:

1、导入所需的库:

import torch
import torchvision
import torchvision.transforms as transforms

2、加载数据集:

train_dataset = torchvision.datasets.CBISDDSM(root='./data', train=True, transform=transforms.ToTensor(), download=True)
test_dataset = torchvision.datasets.CBISDDSM(root='./data', train=False, transform=transforms.ToTensor(), download=True)

3、创建Dataloader:

train_dataloader = torch.utils.data.DataLoader(train_dataset, batch_size=100, shuffle=True, num_workers=4)
test_dataloader = torch.utils.data.DataLoader(test_dataset, batch_size=100, shuffle=False, num_workers=4)

batch_size表示每次读取的数据数量,shuffle表示是否打乱数据顺序,num_workers表示加载数据时使用的线程数。

这就是如何设置Dataloader的步骤。希望对您有所帮助。