已尝试在Colab中使用pytorch torch.datasets.ImageFolder加载训练数据。
transform = transforms.Compose([transforms.Resize(400),
transforms.ToTensor()])
dataset_path = 'ss/'
dataset = datasets.ImageFolder(root=dataset_path, transform=transform)
dataloader = torch.utils.data.DataLoader(dataset, batch_size=20)
我遇到了以下错误:
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-27-7abcc1f434b1> in <module>()
2 transforms.ToTensor()])
3 dataset_path = 'ss/'
----> 4 dataset = datasets.ImageFolder(root=dataset_path, transform=transform)
5 dataloader = torch.utils.data.DataLoader(dataset, batch_size=20)
3 frames
/usr/local/lib/python3.7/dist-packages/torchvision/datasets/folder.py in make_dataset(directory, class_to_idx, extensions, is_valid_file)
100 if extensions is not None:
101 msg += f"Supported extensions are: {', '.join(extensions)}"
--> 102 raise FileNotFoundError(msg)
103
104 return instances
FileNotFoundError: Found no valid file for the classes .ipynb_checkpoints. Supported extensions are: .jpg, .jpeg, .png, .ppm, .bmp, .pgm, .tif, .tiff, .webp
我的数据集文件夹包含一个子文件夹,其中包含许多png格式的训练图像,但ImageFolder仍然无法访问它们。
发布于 2021-07-03 06:27:28
图像文件夹中的文件需要放在每个类的子文件夹中,如下所示:
root/dog/xxx.png
root/dog/xxy.png
root/dog/[...]/xxz.png
root/cat/123.png
root/cat/nsdf3.png
root/cat/[...]/asd932_.png
https://pytorch.org/vision/stable/datasets.html#torchvision.datasets.ImageFolder
你在ss
目录中的文件是这样组织的吗?
发布于 2021-07-22 02:20:37
我在使用类似IPython notebook的工具时遇到了同样的问题。
首先,请检查您的dataset_path
下是否有隐藏文件。如果您在Linux环境下,请使用ls -a
。
发生在我身上的情况是,我发现了一个名为.ipynb_checkpoints
的隐藏文件,它平行于图像类子文件夹。我认为这个文件对PyTorch数据集造成了混淆。我确定它没有用,所以我干脆把它删除了。那么数据集就工作得很好。
或者,如果您想简单地忽略该文件,您也可以尝试this。
发布于 2021-11-01 13:13:23
1-图像文件夹中的文件需要放在每个类的子文件夹中(如Sergii Dymchenko所说)
2-使用google colab时放入绝对路径
https://stackoverflow.com/questions/68229246
复制相似问题