예제 #1
0
            trainset = torchvision.datasets.CIFAR10(root=self._dataroot,
                                                    train=True,
                                                    download=True,
                                                    transform=transform_train)
        if load_test:
            testset = torchvision.datasets.CIFAR10(root=self._dataroot,
                                                   train=False,
                                                   download=True,
                                                   transform=transform_test)

        return trainset, testset

    @overrides
    def get_transforms(self) -> tuple:
        MEAN = [0.49139968, 0.48215827, 0.44653124]
        STD = [0.24703233, 0.24348505, 0.26158768]
        transf = [
            transforms.RandomCrop(32, padding=4),
            transforms.RandomHorizontalFlip()
        ]

        normalize = [transforms.ToTensor(), transforms.Normalize(MEAN, STD)]

        train_transform = transforms.Compose(transf + normalize)
        test_transform = transforms.Compose(normalize)

        return train_transform, test_transform


register_dataset_provider('cifar10', Cifar10Provider)
예제 #2
0
            testpath = os.path.join(self._dataroot, 'food-101', 'test')
            testset = torchvision.datasets.ImageFolder(
                testpath, transform=transform_train)

        return trainset, testset

    @overrides
    def get_transforms(self) -> tuple:
        # TODO: Need to rethink the food101 transforms
        MEAN = [0.5451, 0.4435, 0.3436]
        STD = [0.2171, 0.2251,
               0.2260]  # TODO: should be [0.2517, 0.2521, 0.2573]
        train_transf = [
            transforms.Resize((32, 32)),
            transforms.RandomCrop(32, padding=4),
            transforms.RandomHorizontalFlip()
        ]

        # food101 has images of varying sizes and are ~512 each side
        test_transf = [transforms.Resize((32, 32))]

        normalize = [transforms.ToTensor(), transforms.Normalize(MEAN, STD)]

        train_transform = transforms.Compose(train_transf + normalize)
        test_transform = transforms.Compose(test_transf + normalize)

        return train_transform, test_transform


register_dataset_provider('food101', Food101Provider)
예제 #3
0
        if load_train:
            trainset = torchvision.datasets.FashionMNIST(root=self._dataroot,
                train=True, download=True, transform=transform_train)
        if load_test:
            testset = torchvision.datasets.FashionMNIST(root=self._dataroot,
                train=False, download=True, transform=transform_test)

        return trainset, testset

    @overrides
    def get_transforms(self)->tuple:
        MEAN = [0.28604063146254594]
        STD = [0.35302426207299326]
        transf = [
            transforms.RandomAffine(degrees=15, translate=(0.1, 0.1),
                scale=(0.9, 1.1), shear=0.1),
            transforms.RandomVerticalFlip()
        ]

        normalize = [
            transforms.ToTensor(),
            transforms.Normalize(MEAN, STD)
        ]

        train_transform = transforms.Compose(transf + normalize)
        test_transform = transforms.Compose(normalize)

        return train_transform, test_transform

register_dataset_provider('fashion_mnist', FashionMnistProvider)
예제 #4
0
                                                  download=True,
                                                  transform=transform_train)
        if load_test:
            testset = torchvision.datasets.MNIST(root=self._dataroot,
                                                 train=False,
                                                 download=True,
                                                 transform=transform_test)

        return trainset, testset

    @overrides
    def get_transforms(self) -> tuple:
        MEAN = [0.13066051707548254]
        STD = [0.30810780244715075]
        transf = [
            transforms.RandomAffine(degrees=15,
                                    translate=(0.1, 0.1),
                                    scale=(0.9, 1.1),
                                    shear=0.1)
        ]

        normalize = [transforms.ToTensor(), transforms.Normalize(MEAN, STD)]

        train_transform = transforms.Compose(transf + normalize)
        test_transform = transforms.Compose(normalize)

        return train_transform, test_transform


register_dataset_provider('mnist', MnistProvider)
예제 #5
0
        return trainset, testset

    @overrides
    def get_transforms(self) -> tuple:
        # MEAN, STD computed for mit67
        MEAN = [0.4893, 0.4270, 0.3625]
        STD = [0.2631, 0.2565, 0.2582]

        # transformations match that in
        # https://github.com/antoyang/NAS-Benchmark/blob/master/DARTS/preproc.py
        train_transf = [
            transforms.RandomResizedCrop(224),
            transforms.RandomHorizontalFlip(),
            transforms.ColorJitter(brightness=0.4,
                                   contrast=0.4,
                                   saturation=0.4,
                                   hue=0.2)
        ]

        test_transf = [transforms.Resize(256), transforms.CenterCrop(224)]

        normalize = [transforms.ToTensor(), transforms.Normalize(MEAN, STD)]

        train_transform = transforms.Compose(train_transf + normalize)
        test_transform = transforms.Compose(test_transf + normalize)

        return train_transform, test_transform


register_dataset_provider('mit67', Mit67Provider)
예제 #6
0
    def get_transforms(self)->tuple:
        # MEAN, STD computed for sport8
        MEAN = [0.4734, 0.4856, 0.4526]
        STD = [0.2478, 0.2444, 0.2667]

        # transformations match that in
        # https://github.com/antoyang/NAS-Benchmark/blob/master/DARTS/preproc.py
        train_transf = [
            transforms.RandomResizedCrop(224),
            transforms.RandomHorizontalFlip(),
            transforms.ColorJitter(
                brightness=0.4,
                contrast=0.4,
                saturation=0.4,
                hue=0.2)
        ]

        test_transf = [transforms.Resize(256), transforms.CenterCrop(224)]

        normalize = [
            transforms.ToTensor(),
            transforms.Normalize(MEAN, STD)
        ]

        train_transform = transforms.Compose(train_transf + normalize)
        test_transform = transforms.Compose(test_transf + normalize)

        return train_transform, test_transform

register_dataset_provider('sport8', Sport8Provider)
예제 #7
0
                                                 split='extra',
                                                 download=True,
                                                 transform=transform_train)
            trainset = ConcatDataset([trainset, extraset])
        if load_test:
            testset = torchvision.datasets.SVHN(root=self._dataroot,
                                                split='test',
                                                download=True,
                                                transform=transform_test)

        return trainset, testset

    @overrides
    def get_transforms(self) -> tuple:
        MEAN = [0.4914, 0.4822, 0.4465]
        STD = [0.2023, 0.1994, 0.20100]
        transf = [
            transforms.RandomCrop(32, padding=4),
            transforms.RandomHorizontalFlip()
        ]

        normalize = [transforms.ToTensor(), transforms.Normalize(MEAN, STD)]

        train_transform = transforms.Compose(transf + normalize)
        test_transform = transforms.Compose(normalize)

        return train_transform, test_transform


register_dataset_provider('svhn', SvhnProvider)
예제 #8
0
        return trainset, testset

    @overrides
    def get_transforms(self) -> tuple:
        # MEAN, STD computed for flower102
        MEAN = [0.5190, 0.4101, 0.3274]
        STD = [0.2972, 0.2488, 0.2847]

        # transformations match that in
        # https://github.com/antoyang/NAS-Benchmark/blob/master/DARTS/preproc.py
        train_transf = [
            transforms.RandomResizedCrop(224),
            transforms.RandomHorizontalFlip(),
            transforms.ColorJitter(brightness=0.4,
                                   contrast=0.4,
                                   saturation=0.4,
                                   hue=0.2)
        ]

        test_transf = [transforms.Resize(256), transforms.CenterCrop(224)]

        normalize = [transforms.ToTensor(), transforms.Normalize(MEAN, STD)]

        train_transform = transforms.Compose(train_transf + normalize)
        test_transform = transforms.Compose(test_transf + normalize)

        return train_transform, test_transform


register_dataset_provider('flower102', Flower102Provider)
예제 #9
0
        transform_train = transforms.Compose([
            transforms.RandomResizedCrop(
                224,
                scale=(
                    0.08,
                    1.0),  # TODO: these two params are normally not specified
                interpolation=Image.BICUBIC),
            transforms.RandomHorizontalFlip(),
            transforms.ColorJitter(brightness=0.4,
                                   contrast=0.4,
                                   saturation=0.4,
                                   hue=0.2),
            transforms.ToTensor(),
            # TODO: Lighting is not used in original darts paper
            # Lighting(0.1, _IMAGENET_PCA['eigval'], _IMAGENET_PCA['eigvec']),
            transforms.Normalize(mean=MEAN, std=STD)
        ])

        transform_test = transforms.Compose([
            transforms.Resize(256),
            transforms.CenterCrop(224),
            transforms.ToTensor(),
            transforms.Normalize(mean=MEAN, std=STD)
        ])

        return transform_train, transform_test


register_dataset_provider('imagenet', ImagenetProvider)