对于我的第一个Pytorch项目,我必须使用包含jpg云图像的数据集执行图像分类。我正在努力导入数据,因为训练/验证/测试集没有分开,图像根据它们的类位于不同的文件夹中。因此,文件夹结构看起来像这样:
-dataset_folder
-Class_1
img1
img2
...
-Class_2
img1
img2
...
-Class_3
img1
img2
...
-Class_4
img1
img2
...
我看到ImageFolder()类可以处理这种文件夹结构,但我不知道如何将其与将数据集分为3部分相结合。
有人能告诉我怎么做吗?
3条答案
按热度按时间ttcibm8c1#
您可以编写一个自定义Dataset类来加载数据并在项目中使用它:
查看此链接以了解有关自定义数据集的更多详细信息。 www.example.com
之后,您可以将数据集拆分为任意多个部分。下面是如何使用SubsetRandomSampler将自定义数据集拆分为不同集合的一个很好的答案:How do I split a custom dataset into training and test datasets?
btxsgosb2#
您可以使用
ImageFolder
创建数据集,然后将其传递给torch.utils.data.random_split
。它将数据集作为输入。e3bfsja23#
你可能指的是这个article或类似的东西,但是解决这个问题的最简单方法是将图像混合到一个文件夹中,创建一个train、validation和test文件夹,然后使用这个: