我试图下载CelebA数据集并通过代码对其应用转换:
from torchvision import transforms
from torchvision.datasets import CelebA
celeba_transforms = transforms.Compose([
transforms.CenterCrop(140),
transforms.Resize([64, 64]),
transforms.ToTensor()
])
CelebA(root='path',
split='train',
download=True,
transform=celeba_transforms)
但是我得到了错误:BadZipFile: File is not a zip file
。我对这个错误做了一些研究,似乎它很受欢迎,不容易解决(因为问题是谷歌驱动器有任何文件的每日最大配额,这似乎超过了CelebA文件)。
我的解决方案是简单地从Kaggle下载zip文件。然而,然后我有普通的未转换的CelebA数据。
是否仍有可能对该数据应用celeba_transforms
?
编辑
CelebA(root='archive_celeba.zip',
split='train',
download=False,
transform=celeba_transforms)
I got error:
RuntimeError: Dataset not found or corrupted. You can use download=True to download it
你知道我做错了什么吗?根据pytorch的文档:
download (bool, optional) -如果为真,则从互联网下载数据集并将其放在根目录。如果数据集已经下载,则不再下载。
你可以将download设置为false,然后它仍然会在本地数据集上执行转换。