# Alternative Source for the CelebA dataset

The Google drive source for the CelebA dataset can hang at times due to Google drive quota limitations.
This directory provides an alternative source for the dataset as defined in torchvision.

Load it as follows:

```
from torchvision.datasets import CelebA
from torchvision.datasets.utils import download_url
import os

class MyCelebA(CelebA):
    url = "ftp://ftp.mi.fu-berlin.de/pub/cmb-data/celeba/"
    def download(self):
        
        import zipfile
        
        if self._check_integrity():
            print('Files already downloaded and verified')
            return

        for (file_id, md5, filename) in self.file_list:
            download_url(self.url+filename, os.path.join(self.root, self.base_folder), filename, md5)
            #download_file_from_google_drive(file_id, os.path.join(self.root, self.base_folder), filename, md5)

        with zipfile.ZipFile(os.path.join(self.root, self.base_folder, "img_align_celeba.zip"), "r") as f:
            f.extractall(os.path.join(self.root, self.base_folder))

dataset = MyCelebA(root=".", download=True)
```

If you are on a computer where the ftp server is locally mounted, you can also just do:

```
from torchvision.datasets import CelebA
celeba = CelebA(root="/web/ftp.imp.fu-berlin.de/pub/cmb-data/", download=False)
```


