如何应用火炬视觉转换到zip文件



我试图下载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,然后它仍然会在本地数据集上执行转换。

最新更新