首页 > 解决方案 > Pytorch 无法识别数据集的目录

问题描述

我正在尝试在我的 Mac 上运行来自官方 PyTorch 网站 ( https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html ) 的深度卷积 GAN 代码。

当我尝试加载数据时,我不断收到“FileNotFound”错误。

Random Seed:  999
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-6-1019cc990fb4> in <module>()
 78                                transforms.CenterCrop(image_size),
 79                                transforms.ToTensor(),
---> 80                                transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
 81                            ]))
 82 # Create the dataloader

/anaconda3/lib/python3.6/site-packages/torchvision/datasets/folder.py in __init__(self, root, transform, target_transform, loader)
176         super(ImageFolder, self).__init__(root, loader, IMG_EXTENSIONS,
177                                           transform=transform,
--> 178                                           target_transform=target_transform)
179         self.imgs = self.samples

/anaconda3/lib/python3.6/site-packages/torchvision/datasets/folder.py in __init__(self, root, loader, extensions, transform, target_transform)
 73 
 74     def __init__(self, root, loader, extensions, transform=None, target_transform=None):
---> 75         classes, class_to_idx = find_classes(root)
 76         samples = make_dataset(root, class_to_idx, extensions)
 77         if len(samples) == 0:

/anaconda3/lib/python3.6/site-packages/torchvision/datasets/folder.py in find_classes(dir)
 21 
 22 def find_classes(dir):
---> 23     classes = [d for d in os.listdir(dir) if os.path.isdir(os.path.join(dir, d))]
 24     classes.sort()
 25     class_to_idx = {classes[i]: i for i in range(len(classes))}

FileNotFoundError: [Errno 2] No such file or directory: 'Users/user1/Downloads/DCGANs/celeba/'

这是我尝试加载数据集的地方dataroot = "Users/user1/Downloads/DCGANs/celeba/"

数据集是一个包含大约 200,000 张图像的文件夹(名为 celeba)。

dataset = dset.ImageFolder(root=dataroot,
                       transform=transforms.Compose([
                           transforms.Resize(image_size),
                           transforms.CenterCrop(image_size),
                           transforms.ToTensor(),
                           transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
                       ]))

我在 Atom 和 Jupyter Notebook 上都试过这个,但没有任何区别。

高度赞赏所有帮助:)

标签: pythonpython-3.xpytorch

解决方案


可识别的目录结构以/. 所以我认为,你应该更换

dataroot = "Users/user1/Downloads/DCGANs/celeba/"

经过

dataroot = "/Users/user1/Downloads/DCGANs/celeba/"

推荐阅读