├── .idea ├── encodings.xml ├── misc.xml └── modules.xml ├── Domain_Generalization ├── data │ ├── JigsawLoader.py │ ├── StandardDataset.py │ ├── __init__.py │ ├── concat_dataset.py │ ├── correct_txt_lists │ │ ├── art_painting_crossval_kfold.txt │ │ ├── art_painting_test_kfold.txt │ │ ├── art_painting_train_kfold.txt │ │ ├── cartoon_crossval_kfold.txt │ │ ├── cartoon_test_kfold.txt │ │ ├── cartoon_train_kfold.txt │ │ ├── photo_crossval_kfold.txt │ │ ├── photo_test_kfold.txt │ │ ├── photo_train_kfold.txt │ │ ├── sketch_crossval_kfold.txt │ │ ├── sketch_test_kfold.txt │ │ └── sketch_train_kfold.txt │ ├── data_helper.py │ └── txt_lists │ │ ├── CALTECH_test.txt │ │ ├── CALTECH_train.txt │ │ ├── LABELME_test.txt │ │ ├── LABELME_train.txt │ │ ├── PASCAL_test.txt │ │ ├── PASCAL_train.txt │ │ ├── SUN_test.txt │ │ ├── SUN_train.txt │ │ ├── amazon10_test.txt │ │ ├── amazon10_train.txt │ │ ├── amazon_test.txt │ │ ├── amazon_train.txt │ │ ├── art_pada_test.txt │ │ ├── art_painting_test.txt │ │ ├── art_painting_train.txt │ │ ├── cartoon_test.txt │ │ ├── cartoon_train.txt │ │ ├── clipart_pada_test.txt │ │ ├── dslr10_test.txt │ │ ├── dslr10_train.txt │ │ ├── dslr_test.txt │ │ ├── dslr_train.txt │ │ ├── jhuit_test_test.txt │ │ ├── jhuit_train_train.txt │ │ ├── mnist_m_test.txt │ │ ├── mnist_train.txt │ │ ├── photo_test.txt │ │ ├── photo_train.txt │ │ ├── product_pada_test.txt │ │ ├── realworld_pada_test.txt │ │ ├── sketch_test.txt │ │ ├── sketch_train.txt │ │ ├── svhn_test.txt │ │ ├── synth_digits_test.txt │ │ ├── usps_test.txt │ │ ├── webcam10_test.txt │ │ ├── webcam10_train.txt │ │ ├── webcam_test.txt │ │ └── webcam_train.txt ├── env.txt ├── models │ ├── __init__.py │ ├── model_factory.py │ ├── model_utils.py │ └── resnet.py ├── optimizer │ ├── __init__.py │ └── optimizer_helper.py ├── train.py └── utils │ ├── Logger.py │ ├── __init__.py │ ├── tf_logger.py │ └── vis.py ├── ImageNet ├── .idea │ ├── ImageNet.iml │ ├── encodings.xml │ ├── misc.xml │ ├── modules.xml │ ├── vcs.xml │ └── workspace.xml ├── main.py └── resnet.py ├── LICENSE └── README.md /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Domain_Generalization/data/JigsawLoader.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | import torch.utils.data as data 4 | import torchvision 5 | import torchvision.transforms as transforms 6 | from PIL import Image 7 | from random import sample, random 8 | 9 | 10 | def get_random_subset(names, labels, percent): 11 | """ 12 | 13 | :param names: list of names 14 | :param labels: list of labels 15 | :param percent: 0 < float < 1 16 | :return: 17 | """ 18 | samples = len(names) 19 | amount = int(samples * percent) 20 | random_index = sample(range(samples), amount) 21 | name_val = [names[k] for k in random_index] 22 | name_train = [v for k, v in enumerate(names) if k not in random_index] 23 | labels_val = [labels[k] for k in random_index] 24 | labels_train = [v for k, v in enumerate(labels) if k not in random_index] 25 | return name_train, name_val, labels_train, labels_val 26 | 27 | 28 | def _dataset_info(txt_labels): 29 | with open(txt_labels, 'r') as f: 30 | images_list = f.readlines() 31 | 32 | file_names = [] 33 | labels = [] 34 | for row in images_list: 35 | row = row.split(' ') 36 | file_names.append(row[0]) 37 | labels.append(int(row[1])) 38 | 39 | return file_names, labels 40 | 41 | 42 | def get_split_dataset_info(txt_list, val_percentage): 43 | names, labels = _dataset_info(txt_list) 44 | return get_random_subset(names, labels, val_percentage) 45 | 46 | 47 | class JigsawDataset(data.Dataset): 48 | def __init__(self, names, labels, jig_classes=100, img_transformer=None, tile_transformer=None, patches=True, bias_whole_image=None): 49 | self.data_path = "" 50 | self.names = names 51 | self.labels = labels 52 | 53 | self.N = len(self.names) 54 | self.permutations = self.__retrieve_permutations(jig_classes) 55 | self.grid_size = 3 56 | self.bias_whole_image = bias_whole_image 57 | if patches: 58 | self.patch_size = 64 59 | self._image_transformer = img_transformer 60 | self._augment_tile = tile_transformer 61 | if patches: 62 | self.returnFunc = lambda x: x 63 | else: 64 | def make_grid(x): 65 | return torchvision.utils.make_grid(x, self.grid_size, padding=0) 66 | self.returnFunc = make_grid 67 | 68 | def get_tile(self, img, n): 69 | w = float(img.size[0]) / self.grid_size 70 | y = int(n / self.grid_size) 71 | x = n % self.grid_size 72 | tile = img.crop([x * w, y * w, (x + 1) * w, (y + 1) * w]) 73 | tile = self._augment_tile(tile) 74 | return tile 75 | 76 | def get_image(self, index): 77 | framename = self.data_path + '/' + self.names[index] 78 | img = Image.open(framename).convert('RGB') 79 | return self._image_transformer(img) 80 | 81 | def __getitem__(self, index): 82 | img = self.get_image(index) 83 | n_grids = self.grid_size ** 2 84 | tiles = [None] * n_grids 85 | for n in range(n_grids): 86 | tiles[n] = self.get_tile(img, n) 87 | 88 | order = np.random.randint(len(self.permutations) + 1) # added 1 for class 0: unsorted 89 | if self.bias_whole_image: 90 | if self.bias_whole_image > random(): 91 | order = 0 92 | if order == 0: 93 | data = tiles 94 | else: 95 | data = [tiles[self.permutations[order - 1][t]] for t in range(n_grids)] 96 | 97 | data = torch.stack(data, 0) 98 | return self.returnFunc(data), int(order), int(self.labels[index]) 99 | 100 | def __len__(self): 101 | return len(self.names) 102 | 103 | def __retrieve_permutations(self, classes): 104 | all_perm = np.load('permutations_%d.npy' % (classes)) 105 | # from range [1,9] to [0,8] 106 | if all_perm.min() == 1: 107 | all_perm = all_perm - 1 108 | 109 | return all_perm 110 | 111 | 112 | class JigsawTestDataset(JigsawDataset): 113 | def __init__(self, *args, **xargs): 114 | super().__init__(*args, **xargs) 115 | 116 | def __getitem__(self, index): 117 | framename = self.data_path + '/' + self.names[index] 118 | img = Image.open(framename).convert('RGB') 119 | return self._image_transformer(img), 0, int(self.labels[index]) 120 | 121 | 122 | class JigsawTestDatasetMultiple(JigsawDataset): 123 | def __init__(self, *args, **xargs): 124 | super().__init__(*args, **xargs) 125 | self._image_transformer = transforms.Compose([ 126 | transforms.Resize(255, Image.BILINEAR), 127 | ]) 128 | self._image_transformer_full = transforms.Compose([ 129 | transforms.Resize(225, Image.BILINEAR), 130 | transforms.ToTensor(), 131 | transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) 132 | ]) 133 | self._augment_tile = transforms.Compose([ 134 | transforms.Resize((75, 75), Image.BILINEAR), 135 | transforms.ToTensor(), 136 | transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) 137 | ]) 138 | 139 | def __getitem__(self, index): 140 | framename = self.data_path + '/' + self.names[index] 141 | _img = Image.open(framename).convert('RGB') 142 | img = self._image_transformer(_img) 143 | 144 | w = float(img.size[0]) / self.grid_size 145 | n_grids = self.grid_size ** 2 146 | images = [] 147 | jig_labels = [] 148 | tiles = [None] * n_grids 149 | for n in range(n_grids): 150 | y = int(n / self.grid_size) 151 | x = n % self.grid_size 152 | tile = img.crop([x * w, y * w, (x + 1) * w, (y + 1) * w]) 153 | tile = self._augment_tile(tile) 154 | tiles[n] = tile 155 | for order in range(0, len(self.permutations)+1, 3): 156 | if order==0: 157 | data = tiles 158 | else: 159 | data = [tiles[self.permutations[order-1][t]] for t in range(n_grids)] 160 | data = self.returnFunc(torch.stack(data, 0)) 161 | images.append(data) 162 | jig_labels.append(order) 163 | images = torch.stack(images, 0) 164 | jig_labels = torch.LongTensor(jig_labels) 165 | return images, jig_labels, int(self.labels[index]) 166 | 167 | 168 | class JigsawNewDataset(data.Dataset): 169 | def __init__(self, names, labels, jig_classes=100, img_transformer=None, tile_transformer=None, patches=True, 170 | bias_whole_image=None): 171 | self.data_path = "/home/username/data/PACS/kfold" 172 | 173 | self.names = names 174 | self.labels = labels 175 | 176 | self.N = len(self.names) 177 | # self.permutations = self.__retrieve_permutations(jig_classes) 178 | self.grid_size = 3 179 | self.bias_whole_image = bias_whole_image 180 | if patches: 181 | self.patch_size = 64 182 | self._image_transformer = img_transformer 183 | self._augment_tile = tile_transformer 184 | if patches: 185 | self.returnFunc = lambda x: x 186 | else: 187 | def make_grid(x): 188 | return torchvision.utils.make_grid(x, self.grid_size, padding=0) 189 | 190 | self.returnFunc = make_grid 191 | 192 | def get_tile(self, img, n): 193 | w = float(img.size[0]) / self.grid_size 194 | y = int(n / self.grid_size) 195 | x = n % self.grid_size 196 | tile = img.crop([x * w, y * w, (x + 1) * w, (y + 1) * w]) 197 | tile = self._augment_tile(tile) 198 | return tile 199 | 200 | def get_image(self, index): 201 | framename = self.data_path + '/' + self.names[index] 202 | img = Image.open(framename).convert('RGB') 203 | return self._image_transformer(img) 204 | 205 | def __getitem__(self, index): 206 | framename = self.data_path + '/' + self.names[index] 207 | img = Image.open(framename).convert('RGB') 208 | return self._image_transformer(img), 0, int(self.labels[index] - 1) 209 | # return self._image_transformer(img), 0, int(self.labels[index]) 210 | 211 | # img = self.get_image(index) 212 | # n_grids = self.grid_size ** 2 213 | # tiles = [None] * n_grids 214 | # for n in range(n_grids): 215 | # tiles[n] = self.get_tile(img, n) 216 | # 217 | # order = np.random.randint(len(self.permutations) + 1) # added 1 for class 0: unsorted 218 | # if self.bias_whole_image: 219 | # if self.bias_whole_image > random(): 220 | # order = 0 221 | # if order == 0: 222 | # data = tiles 223 | # else: 224 | # data = [tiles[self.permutations[order - 1][t]] for t in range(n_grids)] 225 | # 226 | # data = torch.stack(data, 0) 227 | # return self.returnFunc(data), int(order), int(self.labels[index]) 228 | 229 | def __len__(self): 230 | return len(self.names) 231 | 232 | def __retrieve_permutations(self, classes): 233 | all_perm = np.load('permutations_%d.npy' % (classes)) 234 | # from range [1,9] to [0,8] 235 | if all_perm.min() == 1: 236 | all_perm = all_perm - 1 237 | 238 | return all_perm 239 | 240 | class JigsawTestNewDataset(JigsawNewDataset): 241 | def __init__(self, *args, **xargs): 242 | super().__init__(*args, **xargs) 243 | 244 | def __getitem__(self, index): 245 | framename = self.data_path + '/' + self.names[index] 246 | img = Image.open(framename).convert('RGB') 247 | return self._image_transformer(img), 0, int(self.labels[index] - 1) 248 | # return self._image_transformer(img), 0, int(self.labels[index]) 249 | -------------------------------------------------------------------------------- /Domain_Generalization/data/StandardDataset.py: -------------------------------------------------------------------------------- 1 | from torchvision import datasets 2 | from torchvision import transforms 3 | 4 | 5 | def get_dataset(path, mode, image_size): 6 | if mode == "train": 7 | img_transform = transforms.Compose([ 8 | transforms.RandomResizedCrop(image_size, scale=(0.7, 1.0)), 9 | transforms.RandomHorizontalFlip(), 10 | transforms.ToTensor(), 11 | transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[1/256., 1/256., 1/256.]) # std=[1/256., 1/256., 1/256.] #[0.229, 0.224, 0.225] 12 | ]) 13 | else: 14 | img_transform = transforms.Compose([ 15 | transforms.Resize(image_size), 16 | # transforms.CenterCrop(image_size), 17 | transforms.ToTensor(), 18 | transforms.Normalize([0.485, 0.456, 0.406], std=[1/256., 1/256., 1/256.]) # std=[1/256., 1/256., 1/256.] 19 | ]) 20 | return datasets.ImageFolder(path, transform=img_transform) 21 | -------------------------------------------------------------------------------- /Domain_Generalization/data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeLightCMU/RSC/bf6d280c5d74910f009ea8963c59167252659666/Domain_Generalization/data/__init__.py -------------------------------------------------------------------------------- /Domain_Generalization/data/concat_dataset.py: -------------------------------------------------------------------------------- 1 | import bisect 2 | import warnings 3 | 4 | from torch.utils.data import Dataset 5 | 6 | # This is a small variant of the ConcatDataset class, which also returns dataset index 7 | from data.JigsawLoader import JigsawTestDatasetMultiple 8 | 9 | 10 | class ConcatDataset(Dataset): 11 | """ 12 | Dataset to concatenate multiple datasets. 13 | Purpose: useful to assemble different existing datasets, possibly 14 | large-scale datasets as the concatenation operation is done in an 15 | on-the-fly manner. 16 | 17 | Arguments: 18 | datasets (sequence): List of datasets to be concatenated 19 | """ 20 | 21 | @staticmethod 22 | def cumsum(sequence): 23 | r, s = [], 0 24 | for e in sequence: 25 | l = len(e) 26 | r.append(l + s) 27 | s += l 28 | return r 29 | 30 | def isMulti(self): 31 | return isinstance(self.datasets[0], JigsawTestDatasetMultiple) 32 | 33 | def __init__(self, datasets): 34 | super(ConcatDataset, self).__init__() 35 | assert len(datasets) > 0, 'datasets should not be an empty iterable' 36 | self.datasets = list(datasets) 37 | self.cumulative_sizes = self.cumsum(self.datasets) 38 | 39 | def __len__(self): 40 | return self.cumulative_sizes[-1] 41 | 42 | def __getitem__(self, idx): 43 | dataset_idx = bisect.bisect_right(self.cumulative_sizes, idx) 44 | if dataset_idx == 0: 45 | sample_idx = idx 46 | else: 47 | sample_idx = idx - self.cumulative_sizes[dataset_idx - 1] 48 | return self.datasets[dataset_idx][sample_idx], dataset_idx 49 | 50 | @property 51 | def cummulative_sizes(self): 52 | warnings.warn("cummulative_sizes attribute is renamed to " 53 | "cumulative_sizes", DeprecationWarning, stacklevel=2) 54 | return self.cumulative_sizes 55 | -------------------------------------------------------------------------------- /Domain_Generalization/data/correct_txt_lists/art_painting_crossval_kfold.txt: -------------------------------------------------------------------------------- 1 | art_painting/dog/pic_225.jpg 1 2 | art_painting/dog/pic_249.jpg 1 3 | art_painting/dog/pic_306.jpg 1 4 | art_painting/dog/pic_241.jpg 1 5 | art_painting/dog/pic_219.jpg 1 6 | art_painting/dog/pic_252.jpg 1 7 | art_painting/dog/pic_309.jpg 1 8 | art_painting/dog/pic_255.jpg 1 9 | art_painting/dog/pic_310.jpg 1 10 | art_painting/dog/pic_247.jpg 1 11 | art_painting/dog/pic_236.jpg 1 12 | art_painting/dog/pic_242.jpg 1 13 | art_painting/dog/pic_257.jpg 1 14 | art_painting/dog/pic_314.jpg 1 15 | art_painting/dog/pic_317.jpg 1 16 | art_painting/dog/pic_315.jpg 1 17 | art_painting/dog/pic_248.jpg 1 18 | art_painting/dog/pic_250.jpg 1 19 | art_painting/dog/pic_282.jpg 1 20 | art_painting/dog/pic_260.jpg 1 21 | art_painting/dog/pic_316.jpg 1 22 | art_painting/dog/pic_305.jpg 1 23 | art_painting/dog/pic_300.jpg 1 24 | art_painting/dog/pic_365.jpg 1 25 | art_painting/dog/pic_296.jpg 1 26 | art_painting/dog/pic_301.jpg 1 27 | art_painting/dog/pic_298.jpg 1 28 | art_painting/dog/pic_291.jpg 1 29 | art_painting/dog/pic_313.jpg 1 30 | art_painting/dog/pic_311.jpg 1 31 | art_painting/dog/pic_312.jpg 1 32 | art_painting/dog/pic_308.jpg 1 33 | art_painting/dog/pic_329.jpg 1 34 | art_painting/dog/pic_322.jpg 1 35 | art_painting/dog/pic_323.jpg 1 36 | art_painting/dog/pic_330.jpg 1 37 | art_painting/dog/pic_371.jpg 1 38 | art_painting/dog/pic_339.jpg 1 39 | art_painting/elephant/pic_243.jpg 2 40 | art_painting/elephant/pic_154.jpg 2 41 | art_painting/elephant/pic_239.jpg 2 42 | art_painting/elephant/pic_156.jpg 2 43 | art_painting/elephant/pic_167.jpg 2 44 | art_painting/elephant/pic_168.jpg 2 45 | art_painting/elephant/pic_162.jpg 2 46 | art_painting/elephant/pic_161.jpg 2 47 | art_painting/elephant/pic_159.jpg 2 48 | art_painting/elephant/pic_160.jpg 2 49 | art_painting/elephant/pic_158.jpg 2 50 | art_painting/elephant/pic_157.jpg 2 51 | art_painting/elephant/pic_166.jpg 2 52 | art_painting/elephant/pic_171.jpg 2 53 | art_painting/elephant/pic_169.jpg 2 54 | art_painting/elephant/pic_170.jpg 2 55 | art_painting/elephant/pic_176.jpg 2 56 | art_painting/elephant/pic_175.jpg 2 57 | art_painting/elephant/pic_173.jpg 2 58 | art_painting/elephant/pic_172.jpg 2 59 | art_painting/elephant/pic_082.jpg 2 60 | art_painting/elephant/pic_081.jpg 2 61 | art_painting/elephant/pic_080.jpg 2 62 | art_painting/elephant/pic_078.jpg 2 63 | art_painting/elephant/pic_079.jpg 2 64 | art_painting/elephant/pic_093.jpg 2 65 | art_painting/giraffe/pic_134.jpg 3 66 | art_painting/giraffe/pic_129.jpg 3 67 | art_painting/giraffe/pic_127.jpg 3 68 | art_painting/giraffe/pic_151.jpg 3 69 | art_painting/giraffe/pic_131.jpg 3 70 | art_painting/giraffe/pic_158.jpg 3 71 | art_painting/giraffe/pic_144.jpg 3 72 | art_painting/giraffe/pic_238.jpg 3 73 | art_painting/giraffe/pic_222.jpg 3 74 | art_painting/giraffe/pic_185.jpg 3 75 | art_painting/giraffe/pic_160.jpg 3 76 | art_painting/giraffe/pic_155.jpg 3 77 | art_painting/giraffe/pic_209.jpg 3 78 | art_painting/giraffe/pic_228.jpg 3 79 | art_painting/giraffe/pic_169.jpg 3 80 | art_painting/giraffe/pic_198.jpg 3 81 | art_painting/giraffe/pic_145.jpg 3 82 | art_painting/giraffe/pic_273.jpg 3 83 | art_painting/giraffe/pic_303.jpg 3 84 | art_painting/giraffe/pic_284.jpg 3 85 | art_painting/giraffe/pic_302.jpg 3 86 | art_painting/giraffe/pic_286.jpg 3 87 | art_painting/giraffe/pic_287.jpg 3 88 | art_painting/giraffe/pic_301.jpg 3 89 | art_painting/giraffe/pic_295.jpg 3 90 | art_painting/giraffe/pic_296.jpg 3 91 | art_painting/giraffe/pic_311.jpg 3 92 | art_painting/giraffe/pic_309.jpg 3 93 | art_painting/giraffe/pic_310.jpg 3 94 | art_painting/guitar/pic_125.jpg 4 95 | art_painting/guitar/pic_124.jpg 4 96 | art_painting/guitar/pic_179.jpg 4 97 | art_painting/guitar/pic_147.jpg 4 98 | art_painting/guitar/pic_146.jpg 4 99 | art_painting/guitar/pic_183.jpg 4 100 | art_painting/guitar/pic_126.jpg 4 101 | art_painting/guitar/pic_172.jpg 4 102 | art_painting/guitar/pic_137.jpg 4 103 | art_painting/guitar/pic_180.jpg 4 104 | art_painting/guitar/pic_150.jpg 4 105 | art_painting/guitar/pic_176.jpg 4 106 | art_painting/guitar/pic_187.jpg 4 107 | art_painting/guitar/pic_186.jpg 4 108 | art_painting/guitar/pic_184.jpg 4 109 | art_painting/guitar/pic_174.jpg 4 110 | art_painting/guitar/pic_165.jpg 4 111 | art_painting/guitar/pic_161.jpg 4 112 | art_painting/guitar/pic_162.jpg 4 113 | art_painting/horse/pic_034.jpg 5 114 | art_painting/horse/pic_040.jpg 5 115 | art_painting/horse/pic_039.jpg 5 116 | art_painting/horse/pic_042.jpg 5 117 | art_painting/horse/pic_028.jpg 5 118 | art_painting/horse/pic_037.jpg 5 119 | art_painting/horse/pic_041.jpg 5 120 | art_painting/horse/pic_033.jpg 5 121 | art_painting/horse/pic_038.jpg 5 122 | art_painting/horse/pic_025.jpg 5 123 | art_painting/horse/pic_023.jpg 5 124 | art_painting/horse/pic_045.jpg 5 125 | art_painting/horse/pic_030.jpg 5 126 | art_painting/horse/pic_043.jpg 5 127 | art_painting/horse/pic_021.jpg 5 128 | art_painting/horse/pic_026.jpg 5 129 | art_painting/horse/pic_046.jpg 5 130 | art_painting/horse/pic_001.jpg 5 131 | art_painting/horse/pic_002.jpg 5 132 | art_painting/horse/pic_003.jpg 5 133 | art_painting/horse/pic_004.jpg 5 134 | art_painting/house/pic_313.jpg 6 135 | art_painting/house/pic_169.jpg 6 136 | art_painting/house/pic_168.jpg 6 137 | art_painting/house/pic_308.jpg 6 138 | art_painting/house/pic_167.jpg 6 139 | art_painting/house/pic_310.jpg 6 140 | art_painting/house/pic_314.jpg 6 141 | art_painting/house/pic_170.jpg 6 142 | art_painting/house/pic_316.jpg 6 143 | art_painting/house/pic_175.jpg 6 144 | art_painting/house/pic_173.jpg 6 145 | art_painting/house/pic_322.jpg 6 146 | art_painting/house/pic_321.jpg 6 147 | art_painting/house/pic_320.jpg 6 148 | art_painting/house/pic_178.jpg 6 149 | art_painting/house/pic_331.jpg 6 150 | art_painting/house/pic_001.jpg 6 151 | art_painting/house/pic_002.jpg 6 152 | art_painting/house/pic_003.jpg 6 153 | art_painting/house/pic_004.jpg 6 154 | art_painting/house/pic_005.jpg 6 155 | art_painting/house/pic_006.jpg 6 156 | art_painting/house/pic_007.jpg 6 157 | art_painting/house/pic_008.jpg 6 158 | art_painting/house/pic_009.jpg 6 159 | art_painting/house/pic_010.jpg 6 160 | art_painting/house/pic_011.jpg 6 161 | art_painting/house/pic_013.jpg 6 162 | art_painting/house/pic_015.jpg 6 163 | art_painting/house/pic_030.jpg 6 164 | art_painting/person/pic_280.jpg 7 165 | art_painting/person/pic_278.jpg 7 166 | art_painting/person/pic_277.jpg 7 167 | art_painting/person/pic_276.jpg 7 168 | art_painting/person/pic_275.jpg 7 169 | art_painting/person/pic_273.jpg 7 170 | art_painting/person/pic_284.jpg 7 171 | art_painting/person/pic_283.jpg 7 172 | art_painting/person/pic_281.jpg 7 173 | art_painting/person/pic_282.jpg 7 174 | art_painting/person/pic_285.jpg 7 175 | art_painting/person/pic_269.jpg 7 176 | art_painting/person/pic_297.jpg 7 177 | art_painting/person/pic_298.jpg 7 178 | art_painting/person/pic_296.jpg 7 179 | art_painting/person/pic_295.jpg 7 180 | art_painting/person/pic_134.jpg 7 181 | art_painting/person/pic_133.jpg 7 182 | art_painting/person/pic_135.jpg 7 183 | art_painting/person/pic_310.jpg 7 184 | art_painting/person/pic_141.jpg 7 185 | art_painting/person/pic_001.jpg 7 186 | art_painting/person/pic_002.jpg 7 187 | art_painting/person/pic_003.jpg 7 188 | art_painting/person/pic_004.jpg 7 189 | art_painting/person/pic_005.jpg 7 190 | art_painting/person/pic_048.jpg 7 191 | art_painting/person/pic_050.jpg 7 192 | art_painting/person/pic_052.jpg 7 193 | art_painting/person/pic_055.jpg 7 194 | art_painting/person/pic_056.jpg 7 195 | art_painting/person/pic_065.jpg 7 196 | art_painting/person/pic_331.jpg 7 197 | art_painting/person/pic_330.jpg 7 198 | art_painting/person/pic_176.jpg 7 199 | art_painting/person/pic_416.jpg 7 200 | art_painting/person/pic_420.jpg 7 201 | art_painting/person/pic_426.jpg 7 202 | art_painting/person/pic_424.jpg 7 203 | art_painting/person/pic_423.jpg 7 204 | art_painting/person/pic_421.jpg 7 205 | art_painting/person/pic_183.jpg 7 206 | art_painting/person/pic_428.jpg 7 207 | art_painting/person/pic_430.jpg 7 208 | art_painting/person/pic_429.jpg 7 209 | -------------------------------------------------------------------------------- /Domain_Generalization/data/correct_txt_lists/cartoon_crossval_kfold.txt: -------------------------------------------------------------------------------- 1 | cartoon/dog/pic_383.jpg 1 2 | cartoon/dog/pic_382.jpg 1 3 | cartoon/dog/pic_386.jpg 1 4 | cartoon/dog/pic_384.jpg 1 5 | cartoon/dog/pic_385.jpg 1 6 | cartoon/dog/pic_391.jpg 1 7 | cartoon/dog/pic_390.jpg 1 8 | cartoon/dog/pic_392.jpg 1 9 | cartoon/dog/pic_393.jpg 1 10 | cartoon/dog/pic_405.jpg 1 11 | cartoon/dog/pic_403.jpg 1 12 | cartoon/dog/pic_417.jpg 1 13 | cartoon/dog/pic_416.jpg 1 14 | cartoon/dog/pic_415.jpg 1 15 | cartoon/dog/pic_150.jpg 1 16 | cartoon/dog/pic_233.jpg 1 17 | cartoon/dog/pic_232.jpg 1 18 | cartoon/dog/pic_227.jpg 1 19 | cartoon/dog/pic_228.jpg 1 20 | cartoon/dog/pic_229.jpg 1 21 | cartoon/dog/pic_226.jpg 1 22 | cartoon/dog/pic_230.jpg 1 23 | cartoon/dog/pic_286.jpg 1 24 | cartoon/dog/pic_285.jpg 1 25 | cartoon/dog/pic_276.jpg 1 26 | cartoon/dog/pic_262.jpg 1 27 | cartoon/dog/pic_259.jpg 1 28 | cartoon/dog/pic_257.jpg 1 29 | cartoon/dog/pic_254.jpg 1 30 | cartoon/dog/pic_252.jpg 1 31 | cartoon/dog/pic_249.jpg 1 32 | cartoon/dog/pic_001.jpg 1 33 | cartoon/dog/pic_003.jpg 1 34 | cartoon/dog/pic_004.jpg 1 35 | cartoon/dog/pic_005.jpg 1 36 | cartoon/dog/pic_006.jpg 1 37 | cartoon/dog/pic_031.jpg 1 38 | cartoon/dog/pic_043.jpg 1 39 | cartoon/dog/pic_025.jpg 1 40 | cartoon/elephant/pic_211.jpg 2 41 | cartoon/elephant/pic_154.jpg 2 42 | cartoon/elephant/pic_153.jpg 2 43 | cartoon/elephant/pic_237.jpg 2 44 | cartoon/elephant/pic_227.jpg 2 45 | cartoon/elephant/pic_226.jpg 2 46 | cartoon/elephant/pic_225.jpg 2 47 | cartoon/elephant/pic_155.jpg 2 48 | cartoon/elephant/pic_165.jpg 2 49 | cartoon/elephant/pic_164.jpg 2 50 | cartoon/elephant/pic_162.jpg 2 51 | cartoon/elephant/pic_157.jpg 2 52 | cartoon/elephant/pic_156.jpg 2 53 | cartoon/elephant/pic_166.jpg 2 54 | cartoon/elephant/pic_168.jpg 2 55 | cartoon/elephant/pic_167.jpg 2 56 | cartoon/elephant/pic_169.jpg 2 57 | cartoon/elephant/pic_171.jpg 2 58 | cartoon/elephant/pic_170.jpg 2 59 | cartoon/elephant/pic_240.jpg 2 60 | cartoon/elephant/pic_243.jpg 2 61 | cartoon/elephant/pic_242.jpg 2 62 | cartoon/elephant/pic_244.jpg 2 63 | cartoon/elephant/pic_172.jpg 2 64 | cartoon/elephant/pic_247.jpg 2 65 | cartoon/elephant/pic_248.jpg 2 66 | cartoon/elephant/pic_251.jpg 2 67 | cartoon/elephant/pic_250.jpg 2 68 | cartoon/elephant/pic_249.jpg 2 69 | cartoon/elephant/pic_252.jpg 2 70 | cartoon/elephant/pic_258.jpg 2 71 | cartoon/elephant/pic_257.jpg 2 72 | cartoon/elephant/pic_173.jpg 2 73 | cartoon/elephant/pic_412.jpg 2 74 | cartoon/elephant/pic_411.jpg 2 75 | cartoon/elephant/pic_408.jpg 2 76 | cartoon/elephant/pic_409.jpg 2 77 | cartoon/elephant/pic_413.jpg 2 78 | cartoon/elephant/pic_410.jpg 2 79 | cartoon/elephant/pic_431.jpg 2 80 | cartoon/elephant/pic_430.jpg 2 81 | cartoon/elephant/pic_428.jpg 2 82 | cartoon/elephant/pic_425.jpg 2 83 | cartoon/elephant/pic_423.jpg 2 84 | cartoon/elephant/pic_424.jpg 2 85 | cartoon/elephant/pic_420.jpg 2 86 | cartoon/giraffe/pic_005.jpg 3 87 | cartoon/giraffe/pic_006.jpg 3 88 | cartoon/giraffe/pic_007.jpg 3 89 | cartoon/giraffe/pic_008.jpg 3 90 | cartoon/giraffe/pic_009.jpg 3 91 | cartoon/giraffe/pic_010.jpg 3 92 | cartoon/giraffe/pic_011.jpg 3 93 | cartoon/giraffe/pic_012.jpg 3 94 | cartoon/giraffe/pic_013.jpg 3 95 | cartoon/giraffe/pic_014.jpg 3 96 | cartoon/giraffe/pic_015.jpg 3 97 | cartoon/giraffe/pic_016.jpg 3 98 | cartoon/giraffe/pic_017.jpg 3 99 | cartoon/giraffe/pic_018.jpg 3 100 | cartoon/giraffe/pic_019.jpg 3 101 | cartoon/giraffe/pic_020.jpg 3 102 | cartoon/giraffe/pic_022.jpg 3 103 | cartoon/giraffe/pic_025.jpg 3 104 | cartoon/giraffe/pic_024.jpg 3 105 | cartoon/giraffe/pic_091.jpg 3 106 | cartoon/giraffe/pic_090.jpg 3 107 | cartoon/giraffe/pic_087.jpg 3 108 | cartoon/giraffe/pic_086.jpg 3 109 | cartoon/giraffe/pic_085.jpg 3 110 | cartoon/giraffe/pic_095.jpg 3 111 | cartoon/giraffe/pic_096.jpg 3 112 | cartoon/giraffe/pic_093.jpg 3 113 | cartoon/giraffe/pic_094.jpg 3 114 | cartoon/giraffe/pic_106.jpg 3 115 | cartoon/giraffe/pic_108.jpg 3 116 | cartoon/giraffe/pic_104.jpg 3 117 | cartoon/giraffe/pic_103.jpg 3 118 | cartoon/giraffe/pic_101.jpg 3 119 | cartoon/giraffe/pic_100.jpg 3 120 | cartoon/giraffe/pic_099.jpg 3 121 | cartoon/guitar/pic_072.jpg 4 122 | cartoon/guitar/pic_003.jpg 4 123 | cartoon/guitar/pic_004.jpg 4 124 | cartoon/guitar/pic_005.jpg 4 125 | cartoon/guitar/pic_006.jpg 4 126 | cartoon/guitar/pic_007.jpg 4 127 | cartoon/guitar/pic_009.jpg 4 128 | cartoon/guitar/pic_010.jpg 4 129 | cartoon/guitar/pic_011.jpg 4 130 | cartoon/guitar/pic_012.jpg 4 131 | cartoon/guitar/pic_013.jpg 4 132 | cartoon/guitar/pic_016.jpg 4 133 | cartoon/guitar/pic_017.jpg 4 134 | cartoon/guitar/pic_020.jpg 4 135 | cartoon/horse/pic_329.jpg 5 136 | cartoon/horse/pic_317.jpg 5 137 | cartoon/horse/pic_331.jpg 5 138 | cartoon/horse/pic_333.jpg 5 139 | cartoon/horse/pic_332.jpg 5 140 | cartoon/horse/pic_334.jpg 5 141 | cartoon/horse/pic_324.jpg 5 142 | cartoon/horse/pic_318.jpg 5 143 | cartoon/horse/pic_338.jpg 5 144 | cartoon/horse/pic_337.jpg 5 145 | cartoon/horse/pic_341.jpg 5 146 | cartoon/horse/pic_340.jpg 5 147 | cartoon/horse/pic_335.jpg 5 148 | cartoon/horse/pic_342.jpg 5 149 | cartoon/horse/pic_347.jpg 5 150 | cartoon/horse/pic_346.jpg 5 151 | cartoon/horse/pic_343.jpg 5 152 | cartoon/horse/pic_336.jpg 5 153 | cartoon/horse/pic_348.jpg 5 154 | cartoon/horse/pic_339.jpg 5 155 | cartoon/horse/pic_349.jpg 5 156 | cartoon/horse/pic_139.jpg 5 157 | cartoon/horse/pic_132.jpg 5 158 | cartoon/horse/pic_141.jpg 5 159 | cartoon/horse/pic_133.jpg 5 160 | cartoon/horse/pic_162.jpg 5 161 | cartoon/horse/pic_155.jpg 5 162 | cartoon/horse/pic_159.jpg 5 163 | cartoon/horse/pic_156.jpg 5 164 | cartoon/horse/pic_151.jpg 5 165 | cartoon/horse/pic_149.jpg 5 166 | cartoon/horse/pic_147.jpg 5 167 | cartoon/horse/pic_161.jpg 5 168 | cartoon/house/pic_103.jpg 6 169 | cartoon/house/pic_091.jpg 6 170 | cartoon/house/pic_089.jpg 6 171 | cartoon/house/pic_092.jpg 6 172 | cartoon/house/pic_093.jpg 6 173 | cartoon/house/pic_107.jpg 6 174 | cartoon/house/pic_104.jpg 6 175 | cartoon/house/pic_114.jpg 6 176 | cartoon/house/pic_112.jpg 6 177 | cartoon/house/pic_109.jpg 6 178 | cartoon/house/pic_108.jpg 6 179 | cartoon/house/pic_102.jpg 6 180 | cartoon/house/pic_099.jpg 6 181 | cartoon/house/pic_098.jpg 6 182 | cartoon/house/pic_097.jpg 6 183 | cartoon/house/pic_111.jpg 6 184 | cartoon/house/pic_320.jpg 6 185 | cartoon/house/pic_321.jpg 6 186 | cartoon/house/pic_315.jpg 6 187 | cartoon/house/pic_322.jpg 6 188 | cartoon/house/pic_323.jpg 6 189 | cartoon/house/pic_311.jpg 6 190 | cartoon/house/pic_324.jpg 6 191 | cartoon/house/pic_327.jpg 6 192 | cartoon/house/pic_312.jpg 6 193 | cartoon/house/pic_314.jpg 6 194 | cartoon/house/pic_328.jpg 6 195 | cartoon/house/pic_069.jpg 6 196 | cartoon/house/pic_079.jpg 6 197 | cartoon/person/pic_308.jpg 7 198 | cartoon/person/pic_307.jpg 7 199 | cartoon/person/pic_306.jpg 7 200 | cartoon/person/pic_313.jpg 7 201 | cartoon/person/pic_323.jpg 7 202 | cartoon/person/pic_319.jpg 7 203 | cartoon/person/pic_320.jpg 7 204 | cartoon/person/pic_321.jpg 7 205 | cartoon/person/pic_318.jpg 7 206 | cartoon/person/pic_317.jpg 7 207 | cartoon/person/pic_316.jpg 7 208 | cartoon/person/pic_324.jpg 7 209 | cartoon/person/pic_334.jpg 7 210 | cartoon/person/pic_331.jpg 7 211 | cartoon/person/pic_332.jpg 7 212 | cartoon/person/pic_333.jpg 7 213 | cartoon/person/pic_144.jpg 7 214 | cartoon/person/pic_145.jpg 7 215 | cartoon/person/pic_143.jpg 7 216 | cartoon/person/pic_138.jpg 7 217 | cartoon/person/pic_154.jpg 7 218 | cartoon/person/pic_151.jpg 7 219 | cartoon/person/pic_152.jpg 7 220 | cartoon/person/pic_148.jpg 7 221 | cartoon/person/pic_149.jpg 7 222 | cartoon/person/pic_155.jpg 7 223 | cartoon/person/pic_157.jpg 7 224 | cartoon/person/pic_159.jpg 7 225 | cartoon/person/pic_176.jpg 7 226 | cartoon/person/pic_171.jpg 7 227 | cartoon/person/pic_168.jpg 7 228 | cartoon/person/pic_169.jpg 7 229 | cartoon/person/pic_167.jpg 7 230 | cartoon/person/pic_056.jpg 7 231 | cartoon/person/pic_071.jpg 7 232 | cartoon/person/pic_070.jpg 7 233 | cartoon/person/pic_069.jpg 7 234 | cartoon/person/pic_073.jpg 7 235 | cartoon/person/pic_075.jpg 7 236 | cartoon/person/pic_076.jpg 7 237 | cartoon/person/pic_068.jpg 7 238 | -------------------------------------------------------------------------------- /Domain_Generalization/data/correct_txt_lists/photo_crossval_kfold.txt: -------------------------------------------------------------------------------- 1 | photo/dog/056_0001.jpg 1 2 | photo/dog/056_0002.jpg 1 3 | photo/dog/056_0003.jpg 1 4 | photo/dog/056_0004.jpg 1 5 | photo/dog/056_0005.jpg 1 6 | photo/dog/056_0006.jpg 1 7 | photo/dog/056_0007.jpg 1 8 | photo/dog/056_0009.jpg 1 9 | photo/dog/056_0010.jpg 1 10 | photo/dog/056_0011.jpg 1 11 | photo/dog/056_0012.jpg 1 12 | photo/dog/056_0013.jpg 1 13 | photo/dog/056_0014.jpg 1 14 | photo/dog/056_0015.jpg 1 15 | photo/dog/056_0016.jpg 1 16 | photo/dog/056_0017.jpg 1 17 | photo/dog/056_0018.jpg 1 18 | photo/dog/056_0020.jpg 1 19 | photo/dog/056_0021.jpg 1 20 | photo/elephant/064_0001.jpg 2 21 | photo/elephant/064_0002.jpg 2 22 | photo/elephant/064_0003.jpg 2 23 | photo/elephant/064_0004.jpg 2 24 | photo/elephant/064_0005.jpg 2 25 | photo/elephant/064_0006.jpg 2 26 | photo/elephant/064_0007.jpg 2 27 | photo/elephant/064_0008.jpg 2 28 | photo/elephant/064_0009.jpg 2 29 | photo/elephant/064_0010.jpg 2 30 | photo/elephant/064_0011.jpg 2 31 | photo/elephant/064_0012.jpg 2 32 | photo/elephant/064_0013.jpg 2 33 | photo/elephant/064_0014.jpg 2 34 | photo/elephant/064_0015.jpg 2 35 | photo/elephant/064_0016.jpg 2 36 | photo/elephant/064_0017.jpg 2 37 | photo/elephant/064_0018.jpg 2 38 | photo/elephant/064_0019.jpg 2 39 | photo/elephant/064_0020.jpg 2 40 | photo/elephant/064_0021.jpg 2 41 | photo/giraffe/084_0001.jpg 3 42 | photo/giraffe/084_0002.jpg 3 43 | photo/giraffe/084_0003.jpg 3 44 | photo/giraffe/084_0004.jpg 3 45 | photo/giraffe/084_0005.jpg 3 46 | photo/giraffe/084_0006.jpg 3 47 | photo/giraffe/084_0007.jpg 3 48 | photo/giraffe/084_0008.jpg 3 49 | photo/giraffe/084_0009.jpg 3 50 | photo/giraffe/084_0010.jpg 3 51 | photo/giraffe/084_0011.jpg 3 52 | photo/giraffe/084_0012.jpg 3 53 | photo/giraffe/084_0013.jpg 3 54 | photo/giraffe/084_0014.jpg 3 55 | photo/giraffe/084_0015.jpg 3 56 | photo/giraffe/084_0016.jpg 3 57 | photo/giraffe/084_0017.jpg 3 58 | photo/giraffe/084_0018.jpg 3 59 | photo/giraffe/084_0019.jpg 3 60 | photo/guitar/063_0001.jpg 4 61 | photo/guitar/063_0002.jpg 4 62 | photo/guitar/063_0003.jpg 4 63 | photo/guitar/063_0004.jpg 4 64 | photo/guitar/063_0005.jpg 4 65 | photo/guitar/063_0006.jpg 4 66 | photo/guitar/063_0007.jpg 4 67 | photo/guitar/063_0008.jpg 4 68 | photo/guitar/063_0009.jpg 4 69 | photo/guitar/063_0010.jpg 4 70 | photo/guitar/063_0012.jpg 4 71 | photo/guitar/063_0013.jpg 4 72 | photo/guitar/063_0016.jpg 4 73 | photo/guitar/063_0018.jpg 4 74 | photo/guitar/063_0019.jpg 4 75 | photo/guitar/063_0020.jpg 4 76 | photo/guitar/063_0021.jpg 4 77 | photo/guitar/063_0022.jpg 4 78 | photo/guitar/063_0023.jpg 4 79 | photo/horse/105_0002.jpg 5 80 | photo/horse/105_0003.jpg 5 81 | photo/horse/105_0007.jpg 5 82 | photo/horse/105_0008.jpg 5 83 | photo/horse/105_0009.jpg 5 84 | photo/horse/105_0010.jpg 5 85 | photo/horse/105_0012.jpg 5 86 | photo/horse/105_0013.jpg 5 87 | photo/horse/105_0022.jpg 5 88 | photo/horse/105_0025.jpg 5 89 | photo/horse/105_0028.jpg 5 90 | photo/horse/105_0029.jpg 5 91 | photo/horse/105_0030.jpg 5 92 | photo/horse/105_0033.jpg 5 93 | photo/horse/105_0037.jpg 5 94 | photo/horse/105_0038.jpg 5 95 | photo/horse/105_0041.jpg 5 96 | photo/horse/105_0042.jpg 5 97 | photo/horse/105_0047.jpg 5 98 | photo/horse/105_0048.jpg 5 99 | photo/house/pic_010.jpg 6 100 | photo/house/pic_011.jpg 6 101 | photo/house/pic_012.jpg 6 102 | photo/house/pic_013.jpg 6 103 | photo/house/pic_014.jpg 6 104 | photo/house/pic_015.jpg 6 105 | photo/house/pic_016.jpg 6 106 | photo/house/pic_017.jpg 6 107 | photo/house/pic_018.jpg 6 108 | photo/house/pic_021.jpg 6 109 | photo/house/pic_019.jpg 6 110 | photo/house/pic_022.jpg 6 111 | photo/house/pic_020.jpg 6 112 | photo/house/pic_023.jpg 6 113 | photo/house/pic_024.jpg 6 114 | photo/house/pic_026.jpg 6 115 | photo/house/pic_025.jpg 6 116 | photo/house/pic_027.jpg 6 117 | photo/house/pic_028.jpg 6 118 | photo/house/pic_029.jpg 6 119 | photo/house/pic_031.jpg 6 120 | photo/house/pic_239.jpg 6 121 | photo/house/pic_240.jpg 6 122 | photo/house/pic_241.jpg 6 123 | photo/house/pic_242.jpg 6 124 | photo/house/pic_248.jpg 6 125 | photo/house/pic_246.jpg 6 126 | photo/house/pic_247.jpg 6 127 | photo/house/pic_244.jpg 6 128 | photo/person/253_0001.jpg 7 129 | photo/person/253_0002.jpg 7 130 | photo/person/253_0003.jpg 7 131 | photo/person/253_0004.jpg 7 132 | photo/person/253_0005.jpg 7 133 | photo/person/253_0006.jpg 7 134 | photo/person/253_0007.jpg 7 135 | photo/person/253_0008.jpg 7 136 | photo/person/253_0009.jpg 7 137 | photo/person/253_0010.jpg 7 138 | photo/person/253_0011.jpg 7 139 | photo/person/253_0012.jpg 7 140 | photo/person/253_0013.jpg 7 141 | photo/person/253_0014.jpg 7 142 | photo/person/253_0015.jpg 7 143 | photo/person/253_0016.jpg 7 144 | photo/person/253_0017.jpg 7 145 | photo/person/253_0018.jpg 7 146 | photo/person/253_0019.jpg 7 147 | photo/person/253_0020.jpg 7 148 | photo/person/253_0021.jpg 7 149 | photo/person/253_0022.jpg 7 150 | photo/person/253_0023.jpg 7 151 | photo/person/253_0024.jpg 7 152 | photo/person/253_0025.jpg 7 153 | photo/person/253_0026.jpg 7 154 | photo/person/253_0027.jpg 7 155 | photo/person/253_0028.jpg 7 156 | photo/person/253_0029.jpg 7 157 | photo/person/253_0030.jpg 7 158 | photo/person/253_0031.jpg 7 159 | photo/person/253_0032.jpg 7 160 | photo/person/253_0033.jpg 7 161 | photo/person/253_0034.jpg 7 162 | photo/person/253_0035.jpg 7 163 | photo/person/253_0036.jpg 7 164 | photo/person/253_0037.jpg 7 165 | photo/person/253_0038.jpg 7 166 | photo/person/253_0039.jpg 7 167 | photo/person/253_0040.jpg 7 168 | photo/person/253_0041.jpg 7 169 | photo/person/253_0042.jpg 7 170 | photo/person/253_0043.jpg 7 171 | photo/person/253_0044.jpg 7 172 | -------------------------------------------------------------------------------- /Domain_Generalization/data/correct_txt_lists/sketch_crossval_kfold.txt: -------------------------------------------------------------------------------- 1 | sketch/dog/n02103406_343-1.png 1 2 | sketch/dog/n02103406_343-2.png 1 3 | sketch/dog/n02103406_343-3.png 1 4 | sketch/dog/n02103406_343-4.png 1 5 | sketch/dog/n02103406_343-5.png 1 6 | sketch/dog/n02103406_343-6.png 1 7 | sketch/dog/n02103406_343-7.png 1 8 | sketch/dog/n02103406_343-8.png 1 9 | sketch/dog/n02103406_343-9.png 1 10 | sketch/dog/n02103406_346-1.png 1 11 | sketch/dog/n02103406_346-2.png 1 12 | sketch/dog/n02103406_346-3.png 1 13 | sketch/dog/n02103406_346-4.png 1 14 | sketch/dog/n02103406_346-5.png 1 15 | sketch/dog/n02103406_346-6.png 1 16 | sketch/dog/n02103406_346-7.png 1 17 | sketch/dog/n02103406_371-1.png 1 18 | sketch/dog/n02103406_371-2.png 1 19 | sketch/dog/n02103406_371-3.png 1 20 | sketch/dog/n02103406_371-4.png 1 21 | sketch/dog/n02103406_371-5.png 1 22 | sketch/dog/n02103406_371-6.png 1 23 | sketch/dog/n02103406_371-7.png 1 24 | sketch/dog/n02103406_371-8.png 1 25 | sketch/dog/n02103406_371-9.png 1 26 | sketch/dog/n02103406_371-10.png 1 27 | sketch/dog/n02103406_371-11.png 1 28 | sketch/dog/n02103406_651-1.png 1 29 | sketch/dog/n02103406_651-2.png 1 30 | sketch/dog/n02103406_651-3.png 1 31 | sketch/dog/n02103406_651-4.png 1 32 | sketch/dog/n02103406_651-5.png 1 33 | sketch/dog/n02103406_651-6.png 1 34 | sketch/dog/n02103406_651-7.png 1 35 | sketch/dog/n02103406_865-1.png 1 36 | sketch/dog/n02103406_865-2.png 1 37 | sketch/dog/n02103406_865-3.png 1 38 | sketch/dog/n02103406_865-4.png 1 39 | sketch/dog/n02103406_865-5.png 1 40 | sketch/dog/n02103406_865-6.png 1 41 | sketch/dog/n02103406_865-7.png 1 42 | sketch/dog/n02103406_865-8.png 1 43 | sketch/dog/n02103406_865-9.png 1 44 | sketch/dog/n02103406_865-10.png 1 45 | sketch/dog/n02103406_865-11.png 1 46 | sketch/dog/n02103406_936-1.png 1 47 | sketch/dog/n02103406_936-2.png 1 48 | sketch/dog/n02103406_936-3.png 1 49 | sketch/dog/n02103406_936-4.png 1 50 | sketch/dog/n02103406_936-5.png 1 51 | sketch/dog/n02103406_936-6.png 1 52 | sketch/dog/n02103406_936-7.png 1 53 | sketch/dog/n02103406_936-8.png 1 54 | sketch/dog/n02103406_936-9.png 1 55 | sketch/dog/n02103406_995-1.png 1 56 | sketch/dog/n02103406_995-2.png 1 57 | sketch/dog/n02103406_995-3.png 1 58 | sketch/dog/n02103406_995-4.png 1 59 | sketch/dog/n02103406_995-5.png 1 60 | sketch/dog/n02103406_995-6.png 1 61 | sketch/dog/n02103406_1011-1.png 1 62 | sketch/dog/n02103406_1011-2.png 1 63 | sketch/dog/n02103406_1011-3.png 1 64 | sketch/dog/n02103406_1011-4.png 1 65 | sketch/dog/n02103406_1011-5.png 1 66 | sketch/dog/n02103406_1138-1.png 1 67 | sketch/dog/n02103406_1138-2.png 1 68 | sketch/dog/n02103406_1138-3.png 1 69 | sketch/dog/n02103406_1138-4.png 1 70 | sketch/dog/n02103406_1138-5.png 1 71 | sketch/dog/n02103406_1138-6.png 1 72 | sketch/dog/n02103406_1138-7.png 1 73 | sketch/dog/n02103406_1138-8.png 1 74 | sketch/dog/n02103406_1170-1.png 1 75 | sketch/dog/n02103406_1170-2.png 1 76 | sketch/dog/n02103406_1170-3.png 1 77 | sketch/dog/n02103406_1170-4.png 1 78 | sketch/dog/n02103406_1170-5.png 1 79 | sketch/elephant/n02503517_79-1.png 2 80 | sketch/elephant/n02503517_79-2.png 2 81 | sketch/elephant/n02503517_79-3.png 2 82 | sketch/elephant/n02503517_79-4.png 2 83 | sketch/elephant/n02503517_79-5.png 2 84 | sketch/elephant/n02503517_86-1.png 2 85 | sketch/elephant/n02503517_86-2.png 2 86 | sketch/elephant/n02503517_86-3.png 2 87 | sketch/elephant/n02503517_86-4.png 2 88 | sketch/elephant/n02503517_86-5.png 2 89 | sketch/elephant/n02503517_86-6.png 2 90 | sketch/elephant/n02503517_184-1.png 2 91 | sketch/elephant/n02503517_184-2.png 2 92 | sketch/elephant/n02503517_184-3.png 2 93 | sketch/elephant/n02503517_184-4.png 2 94 | sketch/elephant/n02503517_184-5.png 2 95 | sketch/elephant/n02503517_184-6.png 2 96 | sketch/elephant/n02503517_184-7.png 2 97 | sketch/elephant/n02503517_184-8.png 2 98 | sketch/elephant/n02503517_184-9.png 2 99 | sketch/elephant/n02503517_194-1.png 2 100 | sketch/elephant/n02503517_194-2.png 2 101 | sketch/elephant/n02503517_194-3.png 2 102 | sketch/elephant/n02503517_194-4.png 2 103 | sketch/elephant/n02503517_194-5.png 2 104 | sketch/elephant/n02503517_194-6.png 2 105 | sketch/elephant/n02503517_311-1.png 2 106 | sketch/elephant/n02503517_311-2.png 2 107 | sketch/elephant/n02503517_311-3.png 2 108 | sketch/elephant/n02503517_311-4.png 2 109 | sketch/elephant/n02503517_311-5.png 2 110 | sketch/elephant/n02503517_311-6.png 2 111 | sketch/elephant/n02503517_564-1.png 2 112 | sketch/elephant/n02503517_564-2.png 2 113 | sketch/elephant/n02503517_564-3.png 2 114 | sketch/elephant/n02503517_564-4.png 2 115 | sketch/elephant/n02503517_564-5.png 2 116 | sketch/elephant/n02503517_753-1.png 2 117 | sketch/elephant/n02503517_753-2.png 2 118 | sketch/elephant/n02503517_753-3.png 2 119 | sketch/elephant/n02503517_753-4.png 2 120 | sketch/elephant/n02503517_753-5.png 2 121 | sketch/elephant/n02503517_753-6.png 2 122 | sketch/elephant/n02503517_759-1.png 2 123 | sketch/elephant/n02503517_759-2.png 2 124 | sketch/elephant/n02503517_759-3.png 2 125 | sketch/elephant/n02503517_759-4.png 2 126 | sketch/elephant/n02503517_759-5.png 2 127 | sketch/elephant/n02503517_759-6.png 2 128 | sketch/elephant/n02503517_759-7.png 2 129 | sketch/elephant/n02503517_759-8.png 2 130 | sketch/elephant/n02503517_792-1.png 2 131 | sketch/elephant/n02503517_792-2.png 2 132 | sketch/elephant/n02503517_792-3.png 2 133 | sketch/elephant/n02503517_792-4.png 2 134 | sketch/elephant/n02503517_792-5.png 2 135 | sketch/elephant/n02503517_1292-1.png 2 136 | sketch/elephant/n02503517_1292-2.png 2 137 | sketch/elephant/n02503517_1292-3.png 2 138 | sketch/elephant/n02503517_1292-4.png 2 139 | sketch/elephant/n02503517_1292-5.png 2 140 | sketch/elephant/n02503517_1292-6.png 2 141 | sketch/elephant/n02503517_1292-7.png 2 142 | sketch/elephant/n02503517_1359-1.png 2 143 | sketch/elephant/n02503517_1359-2.png 2 144 | sketch/elephant/n02503517_1359-3.png 2 145 | sketch/elephant/n02503517_1359-4.png 2 146 | sketch/elephant/n02503517_1359-5.png 2 147 | sketch/elephant/n02503517_1359-6.png 2 148 | sketch/elephant/n02503517_1383-1.png 2 149 | sketch/elephant/n02503517_1383-2.png 2 150 | sketch/elephant/n02503517_1383-3.png 2 151 | sketch/elephant/n02503517_1383-4.png 2 152 | sketch/elephant/n02503517_1383-5.png 2 153 | sketch/elephant/n02503517_1383-6.png 2 154 | sketch/giraffe/n02439033_67-1.png 3 155 | sketch/giraffe/n02439033_67-2.png 3 156 | sketch/giraffe/n02439033_67-3.png 3 157 | sketch/giraffe/n02439033_67-4.png 3 158 | sketch/giraffe/n02439033_67-5.png 3 159 | sketch/giraffe/n02439033_67-6.png 3 160 | sketch/giraffe/n02439033_67-7.png 3 161 | sketch/giraffe/n02439033_221-1.png 3 162 | sketch/giraffe/n02439033_221-2.png 3 163 | sketch/giraffe/n02439033_221-3.png 3 164 | sketch/giraffe/n02439033_221-4.png 3 165 | sketch/giraffe/n02439033_221-5.png 3 166 | sketch/giraffe/n02439033_221-6.png 3 167 | sketch/giraffe/n02439033_376-1.png 3 168 | sketch/giraffe/n02439033_376-2.png 3 169 | sketch/giraffe/n02439033_376-3.png 3 170 | sketch/giraffe/n02439033_376-4.png 3 171 | sketch/giraffe/n02439033_376-5.png 3 172 | sketch/giraffe/n02439033_569-1.png 3 173 | sketch/giraffe/n02439033_569-2.png 3 174 | sketch/giraffe/n02439033_569-3.png 3 175 | sketch/giraffe/n02439033_569-4.png 3 176 | sketch/giraffe/n02439033_569-5.png 3 177 | sketch/giraffe/n02439033_628-1.png 3 178 | sketch/giraffe/n02439033_628-2.png 3 179 | sketch/giraffe/n02439033_628-3.png 3 180 | sketch/giraffe/n02439033_628-4.png 3 181 | sketch/giraffe/n02439033_628-5.png 3 182 | sketch/giraffe/n02439033_628-6.png 3 183 | sketch/giraffe/n02439033_628-7.png 3 184 | sketch/giraffe/n02439033_628-8.png 3 185 | sketch/giraffe/n02439033_628-9.png 3 186 | sketch/giraffe/n02439033_628-10.png 3 187 | sketch/giraffe/n02439033_866-1.png 3 188 | sketch/giraffe/n02439033_866-2.png 3 189 | sketch/giraffe/n02439033_866-3.png 3 190 | sketch/giraffe/n02439033_866-4.png 3 191 | sketch/giraffe/n02439033_866-5.png 3 192 | sketch/giraffe/n02439033_866-6.png 3 193 | sketch/giraffe/n02439033_991-1.png 3 194 | sketch/giraffe/n02439033_991-2.png 3 195 | sketch/giraffe/n02439033_991-3.png 3 196 | sketch/giraffe/n02439033_991-4.png 3 197 | sketch/giraffe/n02439033_991-5.png 3 198 | sketch/giraffe/n02439033_991-6.png 3 199 | sketch/giraffe/n02439033_991-7.png 3 200 | sketch/giraffe/n02439033_991-8.png 3 201 | sketch/giraffe/n02439033_991-9.png 3 202 | sketch/giraffe/n02439033_1327-1.png 3 203 | sketch/giraffe/n02439033_1327-2.png 3 204 | sketch/giraffe/n02439033_1327-3.png 3 205 | sketch/giraffe/n02439033_1327-4.png 3 206 | sketch/giraffe/n02439033_1327-5.png 3 207 | sketch/giraffe/n02439033_1508-1.png 3 208 | sketch/giraffe/n02439033_1508-2.png 3 209 | sketch/giraffe/n02439033_1508-3.png 3 210 | sketch/giraffe/n02439033_1508-4.png 3 211 | sketch/giraffe/n02439033_1508-5.png 3 212 | sketch/giraffe/n02439033_1508-6.png 3 213 | sketch/giraffe/n02439033_1508-7.png 3 214 | sketch/giraffe/n02439033_1508-8.png 3 215 | sketch/giraffe/n02439033_1508-9.png 3 216 | sketch/giraffe/n02439033_2486-1.png 3 217 | sketch/giraffe/n02439033_2486-2.png 3 218 | sketch/giraffe/n02439033_2486-3.png 3 219 | sketch/giraffe/n02439033_2486-4.png 3 220 | sketch/giraffe/n02439033_2486-5.png 3 221 | sketch/giraffe/n02439033_2486-6.png 3 222 | sketch/giraffe/n02439033_2500-1.png 3 223 | sketch/giraffe/n02439033_2500-2.png 3 224 | sketch/giraffe/n02439033_2500-3.png 3 225 | sketch/giraffe/n02439033_2500-4.png 3 226 | sketch/giraffe/n02439033_2500-5.png 3 227 | sketch/giraffe/n02439033_2500-6.png 3 228 | sketch/giraffe/n02439033_2677-1.png 3 229 | sketch/giraffe/n02439033_2677-2.png 3 230 | sketch/guitar/7601.png 4 231 | sketch/guitar/7602.png 4 232 | sketch/guitar/7603.png 4 233 | sketch/guitar/7604.png 4 234 | sketch/guitar/7605.png 4 235 | sketch/guitar/7606.png 4 236 | sketch/guitar/7607.png 4 237 | sketch/guitar/7608.png 4 238 | sketch/guitar/7609.png 4 239 | sketch/guitar/7610.png 4 240 | sketch/guitar/7611.png 4 241 | sketch/guitar/7612.png 4 242 | sketch/guitar/7613.png 4 243 | sketch/guitar/7614.png 4 244 | sketch/guitar/7615.png 4 245 | sketch/guitar/7616.png 4 246 | sketch/guitar/7617.png 4 247 | sketch/guitar/7618.png 4 248 | sketch/guitar/7619.png 4 249 | sketch/guitar/7620.png 4 250 | sketch/guitar/7621.png 4 251 | sketch/guitar/7622.png 4 252 | sketch/guitar/7623.png 4 253 | sketch/guitar/7624.png 4 254 | sketch/guitar/7625.png 4 255 | sketch/guitar/7626.png 4 256 | sketch/guitar/7627.png 4 257 | sketch/guitar/7628.png 4 258 | sketch/guitar/7629.png 4 259 | sketch/guitar/7630.png 4 260 | sketch/guitar/7631.png 4 261 | sketch/guitar/7632.png 4 262 | sketch/guitar/7633.png 4 263 | sketch/guitar/7634.png 4 264 | sketch/guitar/7635.png 4 265 | sketch/guitar/7636.png 4 266 | sketch/guitar/7637.png 4 267 | sketch/guitar/7638.png 4 268 | sketch/guitar/7639.png 4 269 | sketch/guitar/7640.png 4 270 | sketch/guitar/7641.png 4 271 | sketch/guitar/7642.png 4 272 | sketch/guitar/7643.png 4 273 | sketch/guitar/7644.png 4 274 | sketch/guitar/7645.png 4 275 | sketch/guitar/7646.png 4 276 | sketch/guitar/7647.png 4 277 | sketch/guitar/7648.png 4 278 | sketch/guitar/7649.png 4 279 | sketch/guitar/7650.png 4 280 | sketch/guitar/7651.png 4 281 | sketch/guitar/7652.png 4 282 | sketch/guitar/7653.png 4 283 | sketch/guitar/7654.png 4 284 | sketch/guitar/7655.png 4 285 | sketch/guitar/7656.png 4 286 | sketch/guitar/7657.png 4 287 | sketch/guitar/7658.png 4 288 | sketch/guitar/7659.png 4 289 | sketch/guitar/7660.png 4 290 | sketch/guitar/7661.png 4 291 | sketch/horse/n02374451_54-1.png 5 292 | sketch/horse/n02374451_54-2.png 5 293 | sketch/horse/n02374451_54-3.png 5 294 | sketch/horse/n02374451_54-4.png 5 295 | sketch/horse/n02374451_54-5.png 5 296 | sketch/horse/n02374451_54-6.png 5 297 | sketch/horse/n02374451_54-7.png 5 298 | sketch/horse/n02374451_54-8.png 5 299 | sketch/horse/n02374451_54-9.png 5 300 | sketch/horse/n02374451_54-10.png 5 301 | sketch/horse/n02374451_245-1.png 5 302 | sketch/horse/n02374451_245-2.png 5 303 | sketch/horse/n02374451_245-3.png 5 304 | sketch/horse/n02374451_245-4.png 5 305 | sketch/horse/n02374451_245-5.png 5 306 | sketch/horse/n02374451_245-6.png 5 307 | sketch/horse/n02374451_257-1.png 5 308 | sketch/horse/n02374451_257-2.png 5 309 | sketch/horse/n02374451_257-3.png 5 310 | sketch/horse/n02374451_257-4.png 5 311 | sketch/horse/n02374451_257-5.png 5 312 | sketch/horse/n02374451_257-6.png 5 313 | sketch/horse/n02374451_257-7.png 5 314 | sketch/horse/n02374451_262-1.png 5 315 | sketch/horse/n02374451_262-2.png 5 316 | sketch/horse/n02374451_262-3.png 5 317 | sketch/horse/n02374451_262-4.png 5 318 | sketch/horse/n02374451_262-5.png 5 319 | sketch/horse/n02374451_262-6.png 5 320 | sketch/horse/n02374451_262-7.png 5 321 | sketch/horse/n02374451_262-8.png 5 322 | sketch/horse/n02374451_262-9.png 5 323 | sketch/horse/n02374451_262-10.png 5 324 | sketch/horse/n02374451_262-11.png 5 325 | sketch/horse/n02374451_262-12.png 5 326 | sketch/horse/n02374451_276-1.png 5 327 | sketch/horse/n02374451_276-2.png 5 328 | sketch/horse/n02374451_276-3.png 5 329 | sketch/horse/n02374451_276-4.png 5 330 | sketch/horse/n02374451_276-5.png 5 331 | sketch/horse/n02374451_276-6.png 5 332 | sketch/horse/n02374451_276-7.png 5 333 | sketch/horse/n02374451_276-8.png 5 334 | sketch/horse/n02374451_276-9.png 5 335 | sketch/horse/n02374451_276-10.png 5 336 | sketch/horse/n02374451_388-2.png 5 337 | sketch/horse/n02374451_388-3.png 5 338 | sketch/horse/n02374451_388-4.png 5 339 | sketch/horse/n02374451_388-5.png 5 340 | sketch/horse/n02374451_388-6.png 5 341 | sketch/horse/n02374451_388-7.png 5 342 | sketch/horse/n02374451_388-8.png 5 343 | sketch/horse/n02374451_388-9.png 5 344 | sketch/horse/n02374451_388-10.png 5 345 | sketch/horse/n02374451_468-1.png 5 346 | sketch/horse/n02374451_468-2.png 5 347 | sketch/horse/n02374451_468-3.png 5 348 | sketch/horse/n02374451_468-4.png 5 349 | sketch/horse/n02374451_468-5.png 5 350 | sketch/horse/n02374451_468-6.png 5 351 | sketch/horse/n02374451_468-7.png 5 352 | sketch/horse/n02374451_468-8.png 5 353 | sketch/horse/n02374451_468-9.png 5 354 | sketch/horse/n02374451_468-10.png 5 355 | sketch/horse/n02374451_490-1.png 5 356 | sketch/horse/n02374451_490-2.png 5 357 | sketch/horse/n02374451_490-3.png 5 358 | sketch/horse/n02374451_490-4.png 5 359 | sketch/horse/n02374451_490-5.png 5 360 | sketch/horse/n02374451_490-6.png 5 361 | sketch/horse/n02374451_490-7.png 5 362 | sketch/horse/n02374451_503-1.png 5 363 | sketch/horse/n02374451_503-2.png 5 364 | sketch/horse/n02374451_503-3.png 5 365 | sketch/horse/n02374451_503-4.png 5 366 | sketch/horse/n02374451_503-5.png 5 367 | sketch/horse/n02374451_503-6.png 5 368 | sketch/horse/n02374451_557-1.png 5 369 | sketch/horse/n02374451_557-2.png 5 370 | sketch/horse/n02374451_557-3.png 5 371 | sketch/horse/n02374451_557-4.png 5 372 | sketch/horse/n02374451_557-5.png 5 373 | sketch/house/8801.png 6 374 | sketch/house/8802.png 6 375 | sketch/house/8803.png 6 376 | sketch/house/8804.png 6 377 | sketch/house/8805.png 6 378 | sketch/house/8806.png 6 379 | sketch/house/8807.png 6 380 | sketch/house/8808.png 6 381 | sketch/house/8809.png 6 382 | sketch/person/12081.png 7 383 | sketch/person/12082.png 7 384 | sketch/person/12083.png 7 385 | sketch/person/12084.png 7 386 | sketch/person/12085.png 7 387 | sketch/person/12086.png 7 388 | sketch/person/12087.png 7 389 | sketch/person/12088.png 7 390 | sketch/person/12089.png 7 391 | sketch/person/12090.png 7 392 | sketch/person/12091.png 7 393 | sketch/person/12092.png 7 394 | sketch/person/12093.png 7 395 | sketch/person/12094.png 7 396 | sketch/person/12095.png 7 397 | sketch/person/12096.png 7 398 | sketch/person/12097.png 7 399 | -------------------------------------------------------------------------------- /Domain_Generalization/data/data_helper.py: -------------------------------------------------------------------------------- 1 | from os.path import join, dirname 2 | 3 | import torch 4 | from torch.utils.data import DataLoader 5 | from torchvision import transforms 6 | 7 | from data import StandardDataset 8 | from data.JigsawLoader import JigsawDataset, JigsawTestDataset, get_split_dataset_info, _dataset_info, JigsawTestDatasetMultiple 9 | from data.concat_dataset import ConcatDataset 10 | from data.JigsawLoader import JigsawNewDataset, JigsawTestNewDataset 11 | 12 | mnist = 'mnist' 13 | mnist_m = 'mnist_m' 14 | svhn = 'svhn' 15 | synth = 'synth' 16 | usps = 'usps' 17 | 18 | vlcs_datasets = ["CALTECH", "LABELME", "PASCAL", "SUN"] 19 | pacs_datasets = ["art_painting", "cartoon", "photo", "sketch"] 20 | office_datasets = ["amazon", "dslr", "webcam"] 21 | digits_datasets = [mnist, mnist, svhn, usps] 22 | available_datasets = office_datasets + pacs_datasets + vlcs_datasets + digits_datasets 23 | #office_paths = {dataset: "/home/enoon/data/images/office/%s" % dataset for dataset in office_datasets} 24 | #pacs_paths = {dataset: "/home/enoon/data/images/PACS/kfold/%s" % dataset for dataset in pacs_datasets} 25 | #vlcs_paths = {dataset: "/home/enoon/data/images/VLCS/%s/test" % dataset for dataset in pacs_datasets} 26 | #paths = {**office_paths, **pacs_paths, **vlcs_paths} 27 | 28 | dataset_std = {mnist: (0.30280363, 0.30280363, 0.30280363), 29 | mnist_m: (0.2384788, 0.22375608, 0.24496263), 30 | svhn: (0.1951134, 0.19804622, 0.19481073), 31 | synth: (0.29410212, 0.2939651, 0.29404707), 32 | usps: (0.25887518, 0.25887518, 0.25887518), 33 | } 34 | 35 | dataset_mean = {mnist: (0.13909429, 0.13909429, 0.13909429), 36 | mnist_m: (0.45920207, 0.46326601, 0.41085603), 37 | svhn: (0.43744073, 0.4437959, 0.4733686), 38 | synth: (0.46332872, 0.46316052, 0.46327512), 39 | usps: (0.17025368, 0.17025368, 0.17025368), 40 | } 41 | 42 | 43 | class Subset(torch.utils.data.Dataset): 44 | def __init__(self, dataset, limit): 45 | indices = torch.randperm(len(dataset))[:limit] 46 | self.dataset = dataset 47 | self.indices = indices 48 | 49 | def __getitem__(self, idx): 50 | return self.dataset[self.indices[idx]] 51 | 52 | def __len__(self): 53 | return len(self.indices) 54 | 55 | 56 | def get_train_dataloader(args, patches): 57 | dataset_list = args.source 58 | assert isinstance(dataset_list, list) 59 | datasets = [] 60 | val_datasets = [] 61 | img_transformer, tile_transformer = get_train_transformers(args) 62 | limit = args.limit_source 63 | for dname in dataset_list: 64 | # name_train, name_val, labels_train, labels_val = get_split_dataset_info(join(dirname(__file__), 'txt_lists', '%s_train.txt' % dname), args.val_size) 65 | name_train, labels_train = _dataset_info(join(dirname(__file__), 'correct_txt_lists', '%s_train_kfold.txt' % dname)) 66 | name_val, labels_val = _dataset_info(join(dirname(__file__), 'correct_txt_lists', '%s_crossval_kfold.txt' % dname)) 67 | 68 | train_dataset = JigsawNewDataset(name_train, labels_train, patches=patches, img_transformer=img_transformer, 69 | tile_transformer=tile_transformer, jig_classes=30, bias_whole_image=args.bias_whole_image) 70 | if limit: 71 | train_dataset = Subset(train_dataset, limit) 72 | datasets.append(train_dataset) 73 | val_datasets.append( 74 | JigsawTestNewDataset(name_val, labels_val, img_transformer=get_val_transformer(args), 75 | patches=patches, jig_classes=30)) 76 | dataset = ConcatDataset(datasets) 77 | val_dataset = ConcatDataset(val_datasets) 78 | loader = torch.utils.data.DataLoader(dataset, batch_size=args.batch_size, shuffle=True, num_workers=4, pin_memory=True, drop_last=True) 79 | val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=args.batch_size, shuffle=False, num_workers=4, pin_memory=True, drop_last=False) 80 | return loader, val_loader 81 | 82 | 83 | def get_val_dataloader(args, patches=False): 84 | names, labels = _dataset_info(join(dirname(__file__), 'correct_txt_lists', '%s_test_kfold.txt' % args.target)) 85 | img_tr = get_val_transformer(args) 86 | val_dataset = JigsawTestNewDataset(names, labels, patches=patches, img_transformer=img_tr, jig_classes=30) 87 | if args.limit_target and len(val_dataset) > args.limit_target: 88 | val_dataset = Subset(val_dataset, args.limit_target) 89 | print("Using %d subset of val dataset" % args.limit_target) 90 | dataset = ConcatDataset([val_dataset]) 91 | loader = torch.utils.data.DataLoader(dataset, batch_size=args.batch_size, shuffle=False, num_workers=4, pin_memory=True, drop_last=False) 92 | return loader 93 | 94 | 95 | 96 | def get_train_transformers(args): 97 | img_tr = [transforms.RandomResizedCrop((int(args.image_size), int(args.image_size)), (args.min_scale, args.max_scale))] 98 | #img_tr = [transforms.Resize((args.image_size, args.image_size))] 99 | #img_tr.append(transforms.RandomHorizontalFlip(args.random_horiz_flip)) 100 | if args.random_horiz_flip > 0.0: 101 | img_tr.append(transforms.RandomHorizontalFlip(args.random_horiz_flip)) 102 | if args.jitter > 0.0: 103 | img_tr.append(transforms.ColorJitter(brightness=args.jitter, contrast=args.jitter, saturation=args.jitter, hue=min(0.5, args.jitter))) 104 | img_tr.append(transforms.RandomGrayscale(args.tile_random_grayscale)) 105 | img_tr.append(transforms.ToTensor()) 106 | img_tr.append(transforms.Normalize([0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])) 107 | 108 | tile_tr = [] 109 | if args.tile_random_grayscale: 110 | tile_tr.append(transforms.RandomGrayscale(args.tile_random_grayscale)) 111 | tile_tr = tile_tr + [transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])] 112 | 113 | return transforms.Compose(img_tr), transforms.Compose(tile_tr) 114 | 115 | 116 | def get_val_transformer(args): 117 | img_tr = [transforms.Resize((args.image_size, args.image_size)), transforms.ToTensor(), 118 | transforms.Normalize([0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])] 119 | return transforms.Compose(img_tr) 120 | 121 | 122 | # def get_target_jigsaw_loader(args): 123 | # img_transformer, tile_transformer = get_train_transformers(args) 124 | # name_train, _, labels_train, _ = get_split_dataset_info(join(dirname(__file__), 'txt_lists', '%s_train.txt' % args.target), 0) 125 | # dataset = JigsawDataset(name_train, labels_train, patches=False, img_transformer=img_transformer, 126 | # tile_transformer=tile_transformer, jig_classes=args.jigsaw_n_classes, bias_whole_image=args.bias_whole_image) 127 | # loader = torch.utils.data.DataLoader(dataset, batch_size=args.batch_size, shuffle=True, num_workers=4, pin_memory=True, drop_last=True) 128 | # return loader 129 | -------------------------------------------------------------------------------- /Domain_Generalization/data/txt_lists/dslr10_test.txt: -------------------------------------------------------------------------------- 1 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0001.jpg 0 2 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0002.jpg 0 3 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0003.jpg 0 4 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0004.jpg 0 5 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0005.jpg 0 6 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0006.jpg 0 7 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0007.jpg 0 8 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0008.jpg 0 9 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0009.jpg 0 10 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0010.jpg 0 11 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0011.jpg 0 12 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0012.jpg 0 13 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0001.jpg 1 14 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0002.jpg 1 15 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0003.jpg 1 16 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0004.jpg 1 17 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0005.jpg 1 18 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0006.jpg 1 19 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0007.jpg 1 20 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0008.jpg 1 21 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0009.jpg 1 22 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0010.jpg 1 23 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0011.jpg 1 24 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0012.jpg 1 25 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0013.jpg 1 26 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0014.jpg 1 27 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0015.jpg 1 28 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0016.jpg 1 29 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0017.jpg 1 30 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0018.jpg 1 31 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0019.jpg 1 32 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0020.jpg 1 33 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0021.jpg 1 34 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0001.jpg 5 35 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0002.jpg 5 36 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0003.jpg 5 37 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0004.jpg 5 38 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0005.jpg 5 39 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0006.jpg 5 40 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0007.jpg 5 41 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0008.jpg 5 42 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0009.jpg 5 43 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0010.jpg 5 44 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0011.jpg 5 45 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0012.jpg 5 46 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0001.jpg 10 47 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0002.jpg 10 48 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0003.jpg 10 49 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0004.jpg 10 50 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0005.jpg 10 51 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0006.jpg 10 52 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0007.jpg 10 53 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0008.jpg 10 54 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0009.jpg 10 55 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0010.jpg 10 56 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0011.jpg 10 57 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0012.jpg 10 58 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0013.jpg 10 59 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0001.jpg 11 60 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0002.jpg 11 61 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0003.jpg 11 62 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0004.jpg 11 63 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0005.jpg 11 64 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0006.jpg 11 65 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0007.jpg 11 66 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0008.jpg 11 67 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0009.jpg 11 68 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0010.jpg 11 69 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0001.jpg 12 70 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0002.jpg 12 71 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0003.jpg 12 72 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0004.jpg 12 73 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0005.jpg 12 74 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0006.jpg 12 75 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0007.jpg 12 76 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0008.jpg 12 77 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0009.jpg 12 78 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0010.jpg 12 79 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0011.jpg 12 80 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0012.jpg 12 81 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0013.jpg 12 82 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0014.jpg 12 83 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0015.jpg 12 84 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0016.jpg 12 85 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0017.jpg 12 86 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0018.jpg 12 87 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0019.jpg 12 88 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0020.jpg 12 89 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0021.jpg 12 90 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0022.jpg 12 91 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0023.jpg 12 92 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0024.jpg 12 93 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0001.jpg 15 94 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0002.jpg 15 95 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0003.jpg 15 96 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0004.jpg 15 97 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0005.jpg 15 98 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0006.jpg 15 99 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0007.jpg 15 100 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0008.jpg 15 101 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0009.jpg 15 102 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0010.jpg 15 103 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0011.jpg 15 104 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0012.jpg 15 105 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0013.jpg 15 106 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0014.jpg 15 107 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0015.jpg 15 108 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0016.jpg 15 109 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0017.jpg 15 110 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0018.jpg 15 111 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0019.jpg 15 112 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0020.jpg 15 113 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0021.jpg 15 114 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0022.jpg 15 115 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0001.jpg 16 116 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0002.jpg 16 117 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0003.jpg 16 118 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0004.jpg 16 119 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0005.jpg 16 120 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0006.jpg 16 121 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0007.jpg 16 122 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0008.jpg 16 123 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0009.jpg 16 124 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0010.jpg 16 125 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0011.jpg 16 126 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0012.jpg 16 127 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0001.jpg 17 128 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0002.jpg 17 129 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0003.jpg 17 130 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0004.jpg 17 131 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0005.jpg 17 132 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0006.jpg 17 133 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0007.jpg 17 134 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0008.jpg 17 135 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0001.jpg 22 136 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0002.jpg 22 137 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0003.jpg 22 138 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0004.jpg 22 139 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0005.jpg 22 140 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0006.jpg 22 141 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0007.jpg 22 142 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0008.jpg 22 143 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0009.jpg 22 144 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0010.jpg 22 145 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0011.jpg 22 146 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0012.jpg 22 147 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0013.jpg 22 148 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0014.jpg 22 149 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0015.jpg 22 150 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0016.jpg 22 151 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0017.jpg 22 152 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0018.jpg 22 153 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0019.jpg 22 154 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0020.jpg 22 155 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0021.jpg 22 156 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0022.jpg 22 157 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0023.jpg 22 158 | -------------------------------------------------------------------------------- /Domain_Generalization/data/txt_lists/dslr10_train.txt: -------------------------------------------------------------------------------- 1 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0001.jpg 0 2 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0002.jpg 0 3 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0003.jpg 0 4 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0004.jpg 0 5 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0005.jpg 0 6 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0006.jpg 0 7 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0007.jpg 0 8 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0008.jpg 0 9 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0009.jpg 0 10 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0010.jpg 0 11 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0011.jpg 0 12 | /home/fmc/data/office/dslr10_with31classes/backpack/frame_0012.jpg 0 13 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0001.jpg 1 14 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0002.jpg 1 15 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0003.jpg 1 16 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0004.jpg 1 17 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0005.jpg 1 18 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0006.jpg 1 19 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0007.jpg 1 20 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0008.jpg 1 21 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0009.jpg 1 22 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0010.jpg 1 23 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0011.jpg 1 24 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0012.jpg 1 25 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0013.jpg 1 26 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0014.jpg 1 27 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0015.jpg 1 28 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0016.jpg 1 29 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0017.jpg 1 30 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0018.jpg 1 31 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0019.jpg 1 32 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0020.jpg 1 33 | /home/fmc/data/office/dslr10_with31classes/bike/frame_0021.jpg 1 34 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0001.jpg 5 35 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0002.jpg 5 36 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0003.jpg 5 37 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0004.jpg 5 38 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0005.jpg 5 39 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0006.jpg 5 40 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0007.jpg 5 41 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0008.jpg 5 42 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0009.jpg 5 43 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0010.jpg 5 44 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0011.jpg 5 45 | /home/fmc/data/office/dslr10_with31classes/calculator/frame_0012.jpg 5 46 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0001.jpg 10 47 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0002.jpg 10 48 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0003.jpg 10 49 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0004.jpg 10 50 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0005.jpg 10 51 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0006.jpg 10 52 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0007.jpg 10 53 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0008.jpg 10 54 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0009.jpg 10 55 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0010.jpg 10 56 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0011.jpg 10 57 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0012.jpg 10 58 | /home/fmc/data/office/dslr10_with31classes/headphones/frame_0013.jpg 10 59 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0001.jpg 11 60 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0002.jpg 11 61 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0003.jpg 11 62 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0004.jpg 11 63 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0005.jpg 11 64 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0006.jpg 11 65 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0007.jpg 11 66 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0008.jpg 11 67 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0009.jpg 11 68 | /home/fmc/data/office/dslr10_with31classes/keyboard/frame_0010.jpg 11 69 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0001.jpg 12 70 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0002.jpg 12 71 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0003.jpg 12 72 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0004.jpg 12 73 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0005.jpg 12 74 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0006.jpg 12 75 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0007.jpg 12 76 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0008.jpg 12 77 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0009.jpg 12 78 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0010.jpg 12 79 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0011.jpg 12 80 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0012.jpg 12 81 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0013.jpg 12 82 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0014.jpg 12 83 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0015.jpg 12 84 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0016.jpg 12 85 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0017.jpg 12 86 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0018.jpg 12 87 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0019.jpg 12 88 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0020.jpg 12 89 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0021.jpg 12 90 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0022.jpg 12 91 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0023.jpg 12 92 | /home/fmc/data/office/dslr10_with31classes/laptop/frame_0024.jpg 12 93 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0001.jpg 15 94 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0002.jpg 15 95 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0003.jpg 15 96 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0004.jpg 15 97 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0005.jpg 15 98 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0006.jpg 15 99 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0007.jpg 15 100 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0008.jpg 15 101 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0009.jpg 15 102 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0010.jpg 15 103 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0011.jpg 15 104 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0012.jpg 15 105 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0013.jpg 15 106 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0014.jpg 15 107 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0015.jpg 15 108 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0016.jpg 15 109 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0017.jpg 15 110 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0018.jpg 15 111 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0019.jpg 15 112 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0020.jpg 15 113 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0021.jpg 15 114 | /home/fmc/data/office/dslr10_with31classes/monitor/frame_0022.jpg 15 115 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0001.jpg 16 116 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0002.jpg 16 117 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0003.jpg 16 118 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0004.jpg 16 119 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0005.jpg 16 120 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0006.jpg 16 121 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0007.jpg 16 122 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0008.jpg 16 123 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0009.jpg 16 124 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0010.jpg 16 125 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0011.jpg 16 126 | /home/fmc/data/office/dslr10_with31classes/mouse/frame_0012.jpg 16 127 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0001.jpg 17 128 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0002.jpg 17 129 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0003.jpg 17 130 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0004.jpg 17 131 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0005.jpg 17 132 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0006.jpg 17 133 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0007.jpg 17 134 | /home/fmc/data/office/dslr10_with31classes/mug/frame_0008.jpg 17 135 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0001.jpg 22 136 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0002.jpg 22 137 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0003.jpg 22 138 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0004.jpg 22 139 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0005.jpg 22 140 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0006.jpg 22 141 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0007.jpg 22 142 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0008.jpg 22 143 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0009.jpg 22 144 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0010.jpg 22 145 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0011.jpg 22 146 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0012.jpg 22 147 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0013.jpg 22 148 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0014.jpg 22 149 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0015.jpg 22 150 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0016.jpg 22 151 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0017.jpg 22 152 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0018.jpg 22 153 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0019.jpg 22 154 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0020.jpg 22 155 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0021.jpg 22 156 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0022.jpg 22 157 | /home/fmc/data/office/dslr10_with31classes/projector/frame_0023.jpg 22 158 | -------------------------------------------------------------------------------- /Domain_Generalization/data/txt_lists/webcam10_test.txt: -------------------------------------------------------------------------------- 1 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0001.jpg 0 2 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0002.jpg 0 3 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0003.jpg 0 4 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0004.jpg 0 5 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0005.jpg 0 6 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0006.jpg 0 7 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0007.jpg 0 8 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0008.jpg 0 9 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0009.jpg 0 10 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0010.jpg 0 11 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0011.jpg 0 12 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0012.jpg 0 13 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0013.jpg 0 14 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0014.jpg 0 15 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0015.jpg 0 16 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0016.jpg 0 17 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0017.jpg 0 18 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0018.jpg 0 19 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0019.jpg 0 20 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0020.jpg 0 21 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0021.jpg 0 22 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0022.jpg 0 23 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0023.jpg 0 24 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0024.jpg 0 25 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0025.jpg 0 26 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0026.jpg 0 27 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0027.jpg 0 28 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0028.jpg 0 29 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0029.jpg 0 30 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0001.jpg 1 31 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0002.jpg 1 32 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0003.jpg 1 33 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0004.jpg 1 34 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0005.jpg 1 35 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0006.jpg 1 36 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0007.jpg 1 37 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0008.jpg 1 38 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0009.jpg 1 39 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0010.jpg 1 40 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0011.jpg 1 41 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0012.jpg 1 42 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0013.jpg 1 43 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0014.jpg 1 44 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0015.jpg 1 45 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0016.jpg 1 46 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0017.jpg 1 47 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0018.jpg 1 48 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0019.jpg 1 49 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0020.jpg 1 50 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0021.jpg 1 51 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0001.jpg 5 52 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0002.jpg 5 53 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0003.jpg 5 54 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0004.jpg 5 55 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0005.jpg 5 56 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0006.jpg 5 57 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0007.jpg 5 58 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0008.jpg 5 59 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0009.jpg 5 60 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0010.jpg 5 61 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0011.jpg 5 62 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0012.jpg 5 63 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0013.jpg 5 64 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0014.jpg 5 65 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0015.jpg 5 66 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0016.jpg 5 67 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0017.jpg 5 68 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0018.jpg 5 69 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0019.jpg 5 70 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0020.jpg 5 71 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0021.jpg 5 72 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0022.jpg 5 73 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0023.jpg 5 74 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0024.jpg 5 75 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0025.jpg 5 76 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0026.jpg 5 77 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0027.jpg 5 78 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0028.jpg 5 79 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0029.jpg 5 80 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0030.jpg 5 81 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0031.jpg 5 82 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0001.jpg 10 83 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0002.jpg 10 84 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0003.jpg 10 85 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0004.jpg 10 86 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0005.jpg 10 87 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0006.jpg 10 88 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0007.jpg 10 89 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0008.jpg 10 90 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0009.jpg 10 91 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0010.jpg 10 92 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0011.jpg 10 93 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0012.jpg 10 94 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0013.jpg 10 95 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0014.jpg 10 96 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0015.jpg 10 97 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0016.jpg 10 98 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0017.jpg 10 99 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0018.jpg 10 100 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0019.jpg 10 101 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0020.jpg 10 102 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0021.jpg 10 103 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0022.jpg 10 104 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0023.jpg 10 105 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0024.jpg 10 106 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0025.jpg 10 107 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0026.jpg 10 108 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0027.jpg 10 109 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0001.jpg 11 110 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0002.jpg 11 111 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0003.jpg 11 112 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0004.jpg 11 113 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0005.jpg 11 114 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0006.jpg 11 115 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0007.jpg 11 116 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0008.jpg 11 117 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0009.jpg 11 118 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0010.jpg 11 119 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0011.jpg 11 120 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0012.jpg 11 121 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0013.jpg 11 122 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0014.jpg 11 123 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0015.jpg 11 124 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0016.jpg 11 125 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0017.jpg 11 126 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0018.jpg 11 127 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0019.jpg 11 128 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0020.jpg 11 129 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0021.jpg 11 130 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0022.jpg 11 131 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0023.jpg 11 132 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0024.jpg 11 133 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0025.jpg 11 134 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0026.jpg 11 135 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0027.jpg 11 136 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0001.jpg 12 137 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0002.jpg 12 138 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0003.jpg 12 139 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0004.jpg 12 140 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0005.jpg 12 141 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0006.jpg 12 142 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0007.jpg 12 143 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0008.jpg 12 144 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0009.jpg 12 145 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0010.jpg 12 146 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0011.jpg 12 147 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0012.jpg 12 148 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0013.jpg 12 149 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0014.jpg 12 150 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0015.jpg 12 151 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0016.jpg 12 152 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0017.jpg 12 153 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0018.jpg 12 154 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0019.jpg 12 155 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0020.jpg 12 156 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0021.jpg 12 157 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0022.jpg 12 158 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0023.jpg 12 159 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0024.jpg 12 160 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0025.jpg 12 161 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0026.jpg 12 162 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0027.jpg 12 163 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0028.jpg 12 164 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0029.jpg 12 165 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0030.jpg 12 166 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0001.jpg 15 167 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0002.jpg 15 168 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0003.jpg 15 169 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0004.jpg 15 170 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0005.jpg 15 171 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0006.jpg 15 172 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0007.jpg 15 173 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0008.jpg 15 174 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0009.jpg 15 175 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0010.jpg 15 176 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0011.jpg 15 177 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0012.jpg 15 178 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0013.jpg 15 179 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0014.jpg 15 180 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0015.jpg 15 181 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0016.jpg 15 182 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0017.jpg 15 183 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0018.jpg 15 184 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0019.jpg 15 185 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0020.jpg 15 186 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0021.jpg 15 187 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0022.jpg 15 188 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0023.jpg 15 189 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0024.jpg 15 190 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0025.jpg 15 191 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0026.jpg 15 192 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0027.jpg 15 193 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0028.jpg 15 194 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0029.jpg 15 195 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0030.jpg 15 196 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0031.jpg 15 197 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0032.jpg 15 198 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0033.jpg 15 199 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0034.jpg 15 200 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0035.jpg 15 201 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0036.jpg 15 202 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0037.jpg 15 203 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0038.jpg 15 204 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0039.jpg 15 205 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0040.jpg 15 206 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0041.jpg 15 207 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0042.jpg 15 208 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0043.jpg 15 209 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0001.jpg 16 210 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0002.jpg 16 211 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0003.jpg 16 212 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0004.jpg 16 213 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0005.jpg 16 214 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0006.jpg 16 215 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0007.jpg 16 216 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0008.jpg 16 217 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0009.jpg 16 218 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0010.jpg 16 219 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0011.jpg 16 220 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0012.jpg 16 221 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0013.jpg 16 222 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0014.jpg 16 223 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0015.jpg 16 224 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0016.jpg 16 225 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0017.jpg 16 226 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0018.jpg 16 227 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0019.jpg 16 228 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0020.jpg 16 229 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0021.jpg 16 230 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0022.jpg 16 231 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0023.jpg 16 232 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0024.jpg 16 233 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0025.jpg 16 234 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0026.jpg 16 235 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0027.jpg 16 236 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0028.jpg 16 237 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0029.jpg 16 238 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0030.jpg 16 239 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0001.jpg 17 240 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0002.jpg 17 241 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0003.jpg 17 242 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0004.jpg 17 243 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0005.jpg 17 244 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0006.jpg 17 245 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0007.jpg 17 246 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0008.jpg 17 247 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0009.jpg 17 248 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0010.jpg 17 249 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0011.jpg 17 250 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0012.jpg 17 251 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0013.jpg 17 252 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0014.jpg 17 253 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0015.jpg 17 254 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0016.jpg 17 255 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0017.jpg 17 256 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0018.jpg 17 257 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0019.jpg 17 258 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0020.jpg 17 259 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0021.jpg 17 260 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0022.jpg 17 261 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0023.jpg 17 262 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0024.jpg 17 263 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0025.jpg 17 264 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0026.jpg 17 265 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0027.jpg 17 266 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0001.jpg 22 267 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0002.jpg 22 268 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0003.jpg 22 269 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0004.jpg 22 270 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0005.jpg 22 271 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0006.jpg 22 272 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0007.jpg 22 273 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0008.jpg 22 274 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0009.jpg 22 275 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0010.jpg 22 276 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0011.jpg 22 277 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0012.jpg 22 278 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0013.jpg 22 279 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0014.jpg 22 280 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0015.jpg 22 281 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0016.jpg 22 282 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0017.jpg 22 283 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0018.jpg 22 284 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0019.jpg 22 285 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0020.jpg 22 286 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0021.jpg 22 287 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0022.jpg 22 288 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0023.jpg 22 289 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0024.jpg 22 290 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0025.jpg 22 291 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0026.jpg 22 292 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0027.jpg 22 293 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0028.jpg 22 294 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0029.jpg 22 295 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0030.jpg 22 296 | -------------------------------------------------------------------------------- /Domain_Generalization/data/txt_lists/webcam10_train.txt: -------------------------------------------------------------------------------- 1 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0001.jpg 0 2 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0002.jpg 0 3 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0003.jpg 0 4 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0004.jpg 0 5 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0005.jpg 0 6 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0006.jpg 0 7 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0007.jpg 0 8 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0008.jpg 0 9 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0009.jpg 0 10 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0010.jpg 0 11 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0011.jpg 0 12 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0012.jpg 0 13 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0013.jpg 0 14 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0014.jpg 0 15 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0015.jpg 0 16 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0016.jpg 0 17 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0017.jpg 0 18 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0018.jpg 0 19 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0019.jpg 0 20 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0020.jpg 0 21 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0021.jpg 0 22 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0022.jpg 0 23 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0023.jpg 0 24 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0024.jpg 0 25 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0025.jpg 0 26 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0026.jpg 0 27 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0027.jpg 0 28 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0028.jpg 0 29 | /home/fmc/data/office/webcam10_with31classes/backpack/frame_0029.jpg 0 30 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0001.jpg 1 31 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0002.jpg 1 32 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0003.jpg 1 33 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0004.jpg 1 34 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0005.jpg 1 35 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0006.jpg 1 36 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0007.jpg 1 37 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0008.jpg 1 38 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0009.jpg 1 39 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0010.jpg 1 40 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0011.jpg 1 41 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0012.jpg 1 42 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0013.jpg 1 43 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0014.jpg 1 44 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0015.jpg 1 45 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0016.jpg 1 46 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0017.jpg 1 47 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0018.jpg 1 48 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0019.jpg 1 49 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0020.jpg 1 50 | /home/fmc/data/office/webcam10_with31classes/bike/frame_0021.jpg 1 51 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0001.jpg 5 52 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0002.jpg 5 53 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0003.jpg 5 54 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0004.jpg 5 55 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0005.jpg 5 56 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0006.jpg 5 57 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0007.jpg 5 58 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0008.jpg 5 59 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0009.jpg 5 60 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0010.jpg 5 61 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0011.jpg 5 62 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0012.jpg 5 63 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0013.jpg 5 64 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0014.jpg 5 65 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0015.jpg 5 66 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0016.jpg 5 67 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0017.jpg 5 68 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0018.jpg 5 69 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0019.jpg 5 70 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0020.jpg 5 71 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0021.jpg 5 72 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0022.jpg 5 73 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0023.jpg 5 74 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0024.jpg 5 75 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0025.jpg 5 76 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0026.jpg 5 77 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0027.jpg 5 78 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0028.jpg 5 79 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0029.jpg 5 80 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0030.jpg 5 81 | /home/fmc/data/office/webcam10_with31classes/calculator/frame_0031.jpg 5 82 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0001.jpg 10 83 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0002.jpg 10 84 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0003.jpg 10 85 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0004.jpg 10 86 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0005.jpg 10 87 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0006.jpg 10 88 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0007.jpg 10 89 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0008.jpg 10 90 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0009.jpg 10 91 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0010.jpg 10 92 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0011.jpg 10 93 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0012.jpg 10 94 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0013.jpg 10 95 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0014.jpg 10 96 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0015.jpg 10 97 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0016.jpg 10 98 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0017.jpg 10 99 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0018.jpg 10 100 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0019.jpg 10 101 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0020.jpg 10 102 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0021.jpg 10 103 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0022.jpg 10 104 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0023.jpg 10 105 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0024.jpg 10 106 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0025.jpg 10 107 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0026.jpg 10 108 | /home/fmc/data/office/webcam10_with31classes/headphones/frame_0027.jpg 10 109 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0001.jpg 11 110 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0002.jpg 11 111 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0003.jpg 11 112 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0004.jpg 11 113 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0005.jpg 11 114 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0006.jpg 11 115 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0007.jpg 11 116 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0008.jpg 11 117 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0009.jpg 11 118 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0010.jpg 11 119 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0011.jpg 11 120 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0012.jpg 11 121 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0013.jpg 11 122 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0014.jpg 11 123 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0015.jpg 11 124 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0016.jpg 11 125 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0017.jpg 11 126 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0018.jpg 11 127 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0019.jpg 11 128 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0020.jpg 11 129 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0021.jpg 11 130 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0022.jpg 11 131 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0023.jpg 11 132 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0024.jpg 11 133 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0025.jpg 11 134 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0026.jpg 11 135 | /home/fmc/data/office/webcam10_with31classes/keyboard/frame_0027.jpg 11 136 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0001.jpg 12 137 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0002.jpg 12 138 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0003.jpg 12 139 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0004.jpg 12 140 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0005.jpg 12 141 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0006.jpg 12 142 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0007.jpg 12 143 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0008.jpg 12 144 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0009.jpg 12 145 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0010.jpg 12 146 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0011.jpg 12 147 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0012.jpg 12 148 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0013.jpg 12 149 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0014.jpg 12 150 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0015.jpg 12 151 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0016.jpg 12 152 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0017.jpg 12 153 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0018.jpg 12 154 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0019.jpg 12 155 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0020.jpg 12 156 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0021.jpg 12 157 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0022.jpg 12 158 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0023.jpg 12 159 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0024.jpg 12 160 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0025.jpg 12 161 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0026.jpg 12 162 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0027.jpg 12 163 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0028.jpg 12 164 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0029.jpg 12 165 | /home/fmc/data/office/webcam10_with31classes/laptop/frame_0030.jpg 12 166 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0001.jpg 15 167 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0002.jpg 15 168 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0003.jpg 15 169 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0004.jpg 15 170 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0005.jpg 15 171 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0006.jpg 15 172 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0007.jpg 15 173 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0008.jpg 15 174 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0009.jpg 15 175 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0010.jpg 15 176 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0011.jpg 15 177 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0012.jpg 15 178 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0013.jpg 15 179 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0014.jpg 15 180 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0015.jpg 15 181 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0016.jpg 15 182 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0017.jpg 15 183 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0018.jpg 15 184 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0019.jpg 15 185 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0020.jpg 15 186 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0021.jpg 15 187 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0022.jpg 15 188 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0023.jpg 15 189 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0024.jpg 15 190 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0025.jpg 15 191 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0026.jpg 15 192 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0027.jpg 15 193 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0028.jpg 15 194 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0029.jpg 15 195 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0030.jpg 15 196 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0031.jpg 15 197 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0032.jpg 15 198 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0033.jpg 15 199 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0034.jpg 15 200 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0035.jpg 15 201 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0036.jpg 15 202 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0037.jpg 15 203 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0038.jpg 15 204 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0039.jpg 15 205 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0040.jpg 15 206 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0041.jpg 15 207 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0042.jpg 15 208 | /home/fmc/data/office/webcam10_with31classes/monitor/frame_0043.jpg 15 209 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0001.jpg 16 210 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0002.jpg 16 211 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0003.jpg 16 212 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0004.jpg 16 213 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0005.jpg 16 214 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0006.jpg 16 215 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0007.jpg 16 216 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0008.jpg 16 217 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0009.jpg 16 218 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0010.jpg 16 219 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0011.jpg 16 220 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0012.jpg 16 221 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0013.jpg 16 222 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0014.jpg 16 223 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0015.jpg 16 224 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0016.jpg 16 225 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0017.jpg 16 226 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0018.jpg 16 227 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0019.jpg 16 228 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0020.jpg 16 229 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0021.jpg 16 230 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0022.jpg 16 231 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0023.jpg 16 232 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0024.jpg 16 233 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0025.jpg 16 234 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0026.jpg 16 235 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0027.jpg 16 236 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0028.jpg 16 237 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0029.jpg 16 238 | /home/fmc/data/office/webcam10_with31classes/mouse/frame_0030.jpg 16 239 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0001.jpg 17 240 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0002.jpg 17 241 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0003.jpg 17 242 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0004.jpg 17 243 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0005.jpg 17 244 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0006.jpg 17 245 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0007.jpg 17 246 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0008.jpg 17 247 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0009.jpg 17 248 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0010.jpg 17 249 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0011.jpg 17 250 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0012.jpg 17 251 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0013.jpg 17 252 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0014.jpg 17 253 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0015.jpg 17 254 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0016.jpg 17 255 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0017.jpg 17 256 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0018.jpg 17 257 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0019.jpg 17 258 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0020.jpg 17 259 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0021.jpg 17 260 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0022.jpg 17 261 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0023.jpg 17 262 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0024.jpg 17 263 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0025.jpg 17 264 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0026.jpg 17 265 | /home/fmc/data/office/webcam10_with31classes/mug/frame_0027.jpg 17 266 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0001.jpg 22 267 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0002.jpg 22 268 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0003.jpg 22 269 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0004.jpg 22 270 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0005.jpg 22 271 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0006.jpg 22 272 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0007.jpg 22 273 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0008.jpg 22 274 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0009.jpg 22 275 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0010.jpg 22 276 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0011.jpg 22 277 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0012.jpg 22 278 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0013.jpg 22 279 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0014.jpg 22 280 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0015.jpg 22 281 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0016.jpg 22 282 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0017.jpg 22 283 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0018.jpg 22 284 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0019.jpg 22 285 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0020.jpg 22 286 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0021.jpg 22 287 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0022.jpg 22 288 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0023.jpg 22 289 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0024.jpg 22 290 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0025.jpg 22 291 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0026.jpg 22 292 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0027.jpg 22 293 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0028.jpg 22 294 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0029.jpg 22 295 | /home/fmc/data/office/webcam10_with31classes/projector/frame_0030.jpg 22 296 | -------------------------------------------------------------------------------- /Domain_Generalization/env.txt: -------------------------------------------------------------------------------- 1 | # Hardware 2 | Ubuntu 16.04 3 | GPU: RTX 2080 4 | 5 | # Software 6 | # Name Version Build Channel 7 | _libgcc_mutex 0.1 main 8 | absl-py 0.8.1 pypi_0 pypi 9 | addict 2.2.1 pypi_0 pypi 10 | astor 0.8.0 pypi_0 pypi 11 | atomicwrites 1.3.0 pypi_0 pypi 12 | attrs 19.1.0 pypi_0 pypi 13 | backcall 0.1.0 py37_0 14 | blas 1.0 mkl 15 | ca-certificates 2019.10.16 0 16 | cachetools 3.1.1 pypi_0 pypi 17 | certifi 2019.9.11 py37_0 18 | cffi 1.12.3 py37h2e261b9_0 19 | chardet 3.0.4 pypi_0 pypi 20 | cudatoolkit 10.0.130 0 21 | cycler 0.10.0 pypi_0 pypi 22 | cython 0.29.10 py37he6710b0_0 23 | decorator 4.4.1 py_0 24 | easydict 1.9 pypi_0 pypi 25 | freetype 2.9.1 h8a8886c_1 26 | gast 0.2.2 pypi_0 pypi 27 | google-auth 1.6.3 pypi_0 pypi 28 | google-auth-oauthlib 0.4.1 pypi_0 pypi 29 | google-pasta 0.1.7 pypi_0 pypi 30 | grpcio 1.24.3 pypi_0 pypi 31 | h5py 2.10.0 pypi_0 pypi 32 | idna 2.8 pypi_0 pypi 33 | importlib-metadata 0.18 pypi_0 pypi 34 | intel-openmp 2019.4 243 35 | ipython 7.9.0 py37h39e3cac_0 36 | ipython_genutils 0.2.0 py37_0 37 | jedi 0.15.1 py37_0 38 | joblib 0.14.1 pypi_0 pypi 39 | jpeg 9b h024ee3a_2 40 | keras-applications 1.0.8 pypi_0 pypi 41 | keras-preprocessing 1.1.0 pypi_0 pypi 42 | kiwisolver 1.1.0 pypi_0 pypi 43 | libedit 3.1.20181209 hc058e9b_0 44 | libffi 3.2.1 hd88cf55_4 45 | libgcc-ng 9.1.0 hdf63c60_0 46 | libgfortran-ng 7.3.0 hdf63c60_0 47 | libpng 1.6.37 hbc83047_0 48 | libstdcxx-ng 9.1.0 hdf63c60_0 49 | libtiff 4.0.10 h2733197_2 50 | markdown 3.1.1 pypi_0 pypi 51 | matplotlib 3.1.0 pypi_0 pypi 52 | mkl 2019.4 243 53 | mkl_fft 1.0.12 py37ha843d7b_0 54 | mkl_random 1.0.2 py37hd81dba3_0 55 | more-itertools 7.0.0 pypi_0 pypi 56 | msgpack 1.0.0 pypi_0 pypi 57 | ncurses 6.1 he6710b0_1 58 | ninja 1.9.0 py37hfd86e86_0 59 | numpy 1.16.4 py37h7e9f1db_0 60 | numpy-base 1.16.4 py37hde5b4d6_0 61 | oauthlib 3.1.0 pypi_0 pypi 62 | olefile 0.46 py37_0 63 | opencv-python 4.1.0.25 pypi_0 pypi 64 | openssl 1.1.1d h7b6447c_3 65 | opt-einsum 3.1.0 pypi_0 pypi 66 | packaging 19.0 pypi_0 pypi 67 | parso 0.5.1 py_0 68 | pexpect 4.7.0 py37_0 69 | pickleshare 0.7.5 py37_0 70 | pillow 6.0.0 py37h34e0f95_0 71 | pip 19.1.1 py37_0 72 | pluggy 0.12.0 pypi_0 pypi 73 | prompt_toolkit 2.0.10 py_0 74 | protobuf 3.10.0 pypi_0 pypi 75 | ptyprocess 0.6.0 py37_0 76 | py 1.8.0 pypi_0 pypi 77 | pyasn1 0.4.7 pypi_0 pypi 78 | pyasn1-modules 0.2.7 pypi_0 pypi 79 | pycocotools 2.0.0 pypi_0 pypi 80 | pycparser 2.19 py37_0 81 | pygments 2.4.2 py_0 82 | pyparsing 2.4.0 pypi_0 pypi 83 | pytest 4.6.3 pypi_0 pypi 84 | python 3.7.3 h0371630_0 85 | python-dateutil 2.8.0 pypi_0 pypi 86 | pytorch 1.1.0 py3.7_cuda10.0.130_cudnn7.5.1_0 pytorch 87 | readline 7.0 h7b6447c_5 88 | requests 2.22.0 pypi_0 pypi 89 | requests-oauthlib 1.2.0 pypi_0 pypi 90 | rsa 4.0 pypi_0 pypi 91 | scikit-learn 0.22.1 pypi_0 pypi 92 | scipy 1.2.1 pypi_0 pypi 93 | setuptools 41.0.1 py37_0 94 | six 1.12.0 py37_0 95 | sklearn 0.0 pypi_0 pypi 96 | sqlite 3.28.0 h7b6447c_0 97 | tensorboard 1.14.0 pypi_0 pypi 98 | tensorboardx 2.0 pypi_0 pypi 99 | tensorflow 1.14.0 pypi_0 pypi 100 | tensorflow-estimator 1.14.0 pypi_0 pypi 101 | termcolor 1.1.0 pypi_0 pypi 102 | tk 8.6.8 hbc83047_0 103 | torchvision 0.3.0 py37_cu10.0.130_1 pytorch 104 | traitlets 4.3.3 py37_0 105 | urllib3 1.25.3 pypi_0 pypi 106 | wcwidth 0.1.7 pypi_0 pypi 107 | werkzeug 0.16.0 pypi_0 pypi 108 | wheel 0.33.4 py37_0 109 | wrapt 1.11.2 pypi_0 pypi 110 | xz 5.2.4 h14c3975_4 111 | zipp 0.5.1 pypi_0 pypi 112 | zlib 1.2.11 h7b6447c_3 113 | zstd 1.3.7 h0b5b093_0 114 | -------------------------------------------------------------------------------- /Domain_Generalization/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeLightCMU/RSC/bf6d280c5d74910f009ea8963c59167252659666/Domain_Generalization/models/__init__.py -------------------------------------------------------------------------------- /Domain_Generalization/models/model_factory.py: -------------------------------------------------------------------------------- 1 | from models import caffenet 2 | from models import mnist 3 | from models import patch_based 4 | from models import alexnet 5 | from models import resnet 6 | 7 | nets_map = { 8 | 'caffenet': caffenet.caffenet, 9 | 'alexnet': alexnet.alexnet, 10 | 'resnet18': resnet.resnet18, 11 | 'resnet50': resnet.resnet50, 12 | 'lenet': mnist.lenet 13 | } 14 | 15 | 16 | def get_network(name): 17 | if name not in nets_map: 18 | raise ValueError('Name of network unknown %s' % name) 19 | 20 | def get_network_fn(**kwargs): 21 | return nets_map[name](**kwargs) 22 | 23 | return get_network_fn 24 | -------------------------------------------------------------------------------- /Domain_Generalization/models/model_utils.py: -------------------------------------------------------------------------------- 1 | from torch.autograd import Function 2 | 3 | 4 | class GradientKillerLayer(Function): 5 | @staticmethod 6 | def forward(ctx, x, **kwargs): 7 | return x.view_as(x) 8 | 9 | @staticmethod 10 | def backward(ctx, grad_output): 11 | return None, None 12 | 13 | 14 | class ReverseLayerF(Function): 15 | @staticmethod 16 | def forward(ctx, x, lambda_val): 17 | ctx.lambda_val = lambda_val 18 | 19 | return x.view_as(x) 20 | 21 | @staticmethod 22 | def backward(ctx, grad_output): 23 | output = grad_output.neg() * ctx.lambda_val 24 | 25 | return output, None -------------------------------------------------------------------------------- /Domain_Generalization/models/resnet.py: -------------------------------------------------------------------------------- 1 | from torch import nn 2 | from torch.utils import model_zoo 3 | from torchvision.models.resnet import BasicBlock, model_urls, Bottleneck 4 | import torch 5 | from torch import nn as nn 6 | from torch.autograd import Variable 7 | import numpy.random as npr 8 | import numpy as np 9 | import torch.nn.functional as F 10 | import random 11 | import math 12 | 13 | class ResNet(nn.Module): 14 | def __init__(self, block, layers, jigsaw_classes=1000, classes=100): 15 | self.inplanes = 64 16 | super(ResNet, self).__init__() 17 | self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, 18 | bias=False) 19 | self.bn1 = nn.BatchNorm2d(64) 20 | self.relu = nn.ReLU(inplace=True) 21 | self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) 22 | self.layer1 = self._make_layer(block, 64, layers[0]) 23 | self.layer2 = self._make_layer(block, 128, layers[1], stride=2) 24 | self.layer3 = self._make_layer(block, 256, layers[2], stride=2) 25 | self.layer4 = self._make_layer(block, 512, layers[3], stride=2) 26 | self.avgpool = nn.AvgPool2d(7, stride=1) 27 | # self.jigsaw_classifier = nn.Linear(512 * block.expansion, jigsaw_classes) 28 | self.class_classifier = nn.Linear(512 * block.expansion, classes) 29 | #self.domain_classifier = nn.Linear(512 * block.expansion, domains) 30 | self.pecent = 1/3 31 | 32 | for m in self.modules(): 33 | if isinstance(m, nn.Conv2d): 34 | nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') 35 | elif isinstance(m, nn.BatchNorm2d): 36 | nn.init.constant_(m.weight, 1) 37 | nn.init.constant_(m.bias, 0) 38 | 39 | def _make_layer(self, block, planes, blocks, stride=1): 40 | downsample = None 41 | if stride != 1 or self.inplanes != planes * block.expansion: 42 | downsample = nn.Sequential( 43 | nn.Conv2d(self.inplanes, planes * block.expansion, 44 | kernel_size=1, stride=stride, bias=False), 45 | nn.BatchNorm2d(planes * block.expansion), 46 | ) 47 | 48 | layers = [] 49 | layers.append(block(self.inplanes, planes, stride, downsample)) 50 | self.inplanes = planes * block.expansion 51 | for i in range(1, blocks): 52 | layers.append(block(self.inplanes, planes)) 53 | 54 | return nn.Sequential(*layers) 55 | 56 | def is_patch_based(self): 57 | return False 58 | 59 | def forward(self, x, gt=None, flag=None, epoch=None): 60 | x = self.conv1(x) 61 | x = self.bn1(x) 62 | x = self.relu(x) 63 | x = self.maxpool(x) 64 | 65 | x = self.layer1(x) 66 | x = self.layer2(x) 67 | x = self.layer3(x) 68 | x = self.layer4(x) 69 | 70 | if flag: 71 | interval = 10 72 | if epoch % interval == 0: 73 | self.pecent = 3.0 / 10 + (epoch / interval) * 2.0 / 10 74 | 75 | self.eval() 76 | x_new = x.clone().detach() 77 | x_new = Variable(x_new.data, requires_grad=True) 78 | x_new_view = self.avgpool(x_new) 79 | x_new_view = x_new_view.view(x_new_view.size(0), -1) 80 | output = self.class_classifier(x_new_view) 81 | class_num = output.shape[1] 82 | index = gt 83 | num_rois = x_new.shape[0] 84 | num_channel = x_new.shape[1] 85 | H = x_new.shape[2] 86 | HW = x_new.shape[2] * x_new.shape[3] 87 | one_hot = torch.zeros((1), dtype=torch.float32).cuda() 88 | one_hot = Variable(one_hot, requires_grad=False) 89 | sp_i = torch.ones([2, num_rois]).long() 90 | sp_i[0, :] = torch.arange(num_rois) 91 | sp_i[1, :] = index 92 | sp_v = torch.ones([num_rois]) 93 | one_hot_sparse = torch.sparse.FloatTensor(sp_i, sp_v, torch.Size([num_rois, class_num])).to_dense().cuda() 94 | one_hot_sparse = Variable(one_hot_sparse, requires_grad=False) 95 | one_hot = torch.sum(output * one_hot_sparse) 96 | self.zero_grad() 97 | one_hot.backward() 98 | grads_val = x_new.grad.clone().detach() 99 | grad_channel_mean = torch.mean(grads_val.view(num_rois, num_channel, -1), dim=2) 100 | channel_mean = grad_channel_mean 101 | grad_channel_mean = grad_channel_mean.view(num_rois, num_channel, 1, 1) 102 | spatial_mean = torch.sum(x_new * grad_channel_mean, 1) 103 | spatial_mean = spatial_mean.view(num_rois, HW) 104 | self.zero_grad() 105 | 106 | choose_one = random.randint(0, 9) 107 | if choose_one <= 4: 108 | # ---------------------------- spatial ----------------------- 109 | spatial_drop_num = math.ceil(HW * 1 / 3.0) 110 | th18_mask_value = torch.sort(spatial_mean, dim=1, descending=True)[0][:, spatial_drop_num] 111 | th18_mask_value = th18_mask_value.view(num_rois, 1).expand(num_rois, 49) 112 | mask_all_cuda = torch.where(spatial_mean > th18_mask_value, torch.zeros(spatial_mean.shape).cuda(), 113 | torch.ones(spatial_mean.shape).cuda()) 114 | mask_all = mask_all_cuda.reshape(num_rois, H, H).view(num_rois, 1, H, H) 115 | else: 116 | # -------------------------- channel ---------------------------- 117 | vector_thresh_percent = math.ceil(num_channel * 1 / 3.2) 118 | vector_thresh_value = torch.sort(channel_mean, dim=1, descending=True)[0][:, vector_thresh_percent] 119 | vector_thresh_value = vector_thresh_value.view(num_rois, 1).expand(num_rois, num_channel) 120 | vector = torch.where(channel_mean > vector_thresh_value, 121 | torch.zeros(channel_mean.shape).cuda(), 122 | torch.ones(channel_mean.shape).cuda()) 123 | mask_all = vector.view(num_rois, num_channel, 1, 1) 124 | 125 | # ----------------------------------- batch ---------------------------------------- 126 | cls_prob_before = F.softmax(output, dim=1) 127 | x_new_view_after = x_new * mask_all 128 | x_new_view_after = self.avgpool(x_new_view_after) 129 | x_new_view_after = x_new_view_after.view(x_new_view_after.size(0), -1) 130 | x_new_view_after = self.class_classifier(x_new_view_after) 131 | cls_prob_after = F.softmax(x_new_view_after, dim=1) 132 | 133 | sp_i = torch.ones([2, num_rois]).long() 134 | sp_i[0, :] = torch.arange(num_rois) 135 | sp_i[1, :] = index 136 | sp_v = torch.ones([num_rois]) 137 | one_hot_sparse = torch.sparse.FloatTensor(sp_i, sp_v, torch.Size([num_rois, class_num])).to_dense().cuda() 138 | before_vector = torch.sum(one_hot_sparse * cls_prob_before, dim=1) 139 | after_vector = torch.sum(one_hot_sparse * cls_prob_after, dim=1) 140 | change_vector = before_vector - after_vector - 0.0001 141 | change_vector = torch.where(change_vector > 0, change_vector, torch.zeros(change_vector.shape).cuda()) 142 | th_fg_value = torch.sort(change_vector, dim=0, descending=True)[0][int(round(float(num_rois) * self.pecent))] 143 | drop_index_fg = change_vector.gt(th_fg_value).long() 144 | ignore_index_fg = 1 - drop_index_fg 145 | not_01_ignore_index_fg = ignore_index_fg.nonzero()[:, 0] 146 | mask_all[not_01_ignore_index_fg.long(), :] = 1 147 | 148 | self.train() 149 | mask_all = Variable(mask_all, requires_grad=True) 150 | x = x * mask_all 151 | 152 | x = self.avgpool(x) 153 | x = x.view(x.size(0), -1) 154 | return self.class_classifier(x) 155 | 156 | 157 | def resnet18(pretrained=True, **kwargs): 158 | """Constructs a ResNet-18 model. 159 | Args: 160 | pretrained (bool): If True, returns a model pre-trained on ImageNet 161 | """ 162 | model = ResNet(BasicBlock, [2, 2, 2, 2], **kwargs) 163 | if pretrained: 164 | model.load_state_dict(model_zoo.load_url(model_urls['resnet18']), strict=False) 165 | return model 166 | 167 | def resnet50(pretrained=True, **kwargs): 168 | """Constructs a ResNet-50 model. 169 | Args: 170 | pretrained (bool): If True, returns a model pre-trained on ImageNet 171 | """ 172 | model = ResNet(Bottleneck, [3, 4, 6, 3], **kwargs) 173 | if pretrained: 174 | model.load_state_dict(model_zoo.load_url(model_urls['resnet50']), strict=False) 175 | return model 176 | -------------------------------------------------------------------------------- /Domain_Generalization/optimizer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeLightCMU/RSC/bf6d280c5d74910f009ea8963c59167252659666/Domain_Generalization/optimizer/__init__.py -------------------------------------------------------------------------------- /Domain_Generalization/optimizer/optimizer_helper.py: -------------------------------------------------------------------------------- 1 | from torch import optim 2 | 3 | 4 | def get_optim_and_scheduler(network, epochs, lr, train_all, nesterov=False): 5 | if train_all: 6 | params = network.parameters() 7 | else: 8 | params = network.get_params(lr) 9 | optimizer = optim.SGD(params, weight_decay=.0005, momentum=.9, nesterov=nesterov, lr=lr) 10 | #optimizer = optim.Adam(params, lr=lr) 11 | step_size = int(epochs * .8) 12 | scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=step_size) 13 | print("Step size: %d" % step_size) 14 | return optimizer, scheduler 15 | -------------------------------------------------------------------------------- /Domain_Generalization/train.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | 3 | import torch 4 | #from IPython.core.debugger import set_trace 5 | from torch import nn 6 | #from torch.nn import functional as F 7 | from data import data_helper 8 | ## from IPython.core.debugger import set_trace 9 | from data.data_helper import available_datasets 10 | from models import model_factory 11 | from optimizer.optimizer_helper import get_optim_and_scheduler 12 | from utils.Logger import Logger 13 | import numpy as np 14 | from models.resnet import resnet18, resnet50 15 | 16 | 17 | def get_args(): 18 | parser = argparse.ArgumentParser(description="Script to launch jigsaw training", 19 | formatter_class=argparse.ArgumentDefaultsHelpFormatter) 20 | parser.add_argument("--source", choices=available_datasets, help="Source", nargs='+') 21 | parser.add_argument("--target", choices=available_datasets, help="Target") 22 | parser.add_argument("--batch_size", "-b", type=int, default=64, help="Batch size") 23 | parser.add_argument("--image_size", type=int, default=222, help="Image size") 24 | # data aug stuff 25 | parser.add_argument("--min_scale", default=0.8, type=float, help="Minimum scale percent") 26 | parser.add_argument("--max_scale", default=1.0, type=float, help="Maximum scale percent") 27 | parser.add_argument("--random_horiz_flip", default=0.5, type=float, help="Chance of random horizontal flip") 28 | parser.add_argument("--jitter", default=0.4, type=float, help="Color jitter amount") 29 | parser.add_argument("--tile_random_grayscale", default=0.1, type=float, help="Chance of randomly greyscaling a tile") 30 | # 31 | parser.add_argument("--limit_source", default=None, type=int, 32 | help="If set, it will limit the number of training samples") 33 | parser.add_argument("--limit_target", default=None, type=int, 34 | help="If set, it will limit the number of testing samples") 35 | parser.add_argument("--learning_rate", "-l", type=float, default=.01, help="Learning rate") 36 | parser.add_argument("--epochs", "-e", type=int, default=20, help="Number of epochs") 37 | parser.add_argument("--n_classes", "-c", type=int, default=7, help="Number of classes") 38 | parser.add_argument("--network", choices=model_factory.nets_map.keys(), help="Which network to use", default="resnet18") 39 | parser.add_argument("--tf_logger", type=bool, default=True, help="If true will save tensorboard compatible logs") 40 | parser.add_argument("--val_size", type=float, default="0.1", help="Validation size (between 0 and 1)") 41 | parser.add_argument("--folder_name", default='test', help="Used by the logger to save logs") 42 | parser.add_argument("--bias_whole_image", default=0.9, type=float, help="If set, will bias the training procedure to show more often the whole image") 43 | parser.add_argument("--TTA", type=bool, default=False, help="Activate test time data augmentation") 44 | parser.add_argument("--classify_only_sane", default=False, type=bool, help="If true, the network will only try to classify the non scrambled images") 45 | parser.add_argument("--train_all", default=True, type=bool, help="If true, all network weights will be trained") 46 | parser.add_argument("--suffix", default="", help="Suffix for the logger") 47 | parser.add_argument("--nesterov", default=False, type=bool, help="Use nesterov") 48 | 49 | return parser.parse_args() 50 | 51 | class Trainer: 52 | def __init__(self, args, device): 53 | self.args = args 54 | self.device = device 55 | if args.network == 'resnet18': 56 | model = resnet18(pretrained=True, classes=args.n_classes) 57 | elif args.network == 'resnet50': 58 | model = resnet50(pretrained=True, classes=args.n_classes) 59 | else: 60 | model = resnet18(pretrained=True, classes=args.n_classes) 61 | self.model = model.to(device) 62 | # print(self.model) 63 | self.source_loader, self.val_loader = data_helper.get_train_dataloader(args, patches=model.is_patch_based()) 64 | self.target_loader = data_helper.get_val_dataloader(args, patches=model.is_patch_based()) 65 | self.test_loaders = {"val": self.val_loader, "test": self.target_loader} 66 | self.len_dataloader = len(self.source_loader) 67 | print("Dataset size: train %d, val %d, test %d" % ( 68 | len(self.source_loader.dataset), len(self.val_loader.dataset), len(self.target_loader.dataset))) 69 | self.optimizer, self.scheduler = get_optim_and_scheduler(model, args.epochs, args.learning_rate, args.train_all, 70 | nesterov=args.nesterov) 71 | self.n_classes = args.n_classes 72 | if args.target in args.source: 73 | self.target_id = args.source.index(args.target) 74 | print("Target in source: %d" % self.target_id) 75 | print(args.source) 76 | else: 77 | self.target_id = None 78 | 79 | def _do_epoch(self, epoch=None): 80 | criterion = nn.CrossEntropyLoss() 81 | self.model.train() 82 | for it, ((data, jig_l, class_l), d_idx) in enumerate(self.source_loader): 83 | data, jig_l, class_l, d_idx = data.to(self.device), jig_l.to(self.device), class_l.to(self.device), d_idx.to(self.device) 84 | self.optimizer.zero_grad() 85 | 86 | data_flip = torch.flip(data, (3,)).detach().clone() 87 | data = torch.cat((data, data_flip)) 88 | class_l = torch.cat((class_l, class_l)) 89 | 90 | class_logit = self.model(data, class_l, True, epoch) 91 | class_loss = criterion(class_logit, class_l) 92 | _, cls_pred = class_logit.max(dim=1) 93 | loss = class_loss 94 | 95 | loss.backward() 96 | self.optimizer.step() 97 | 98 | self.logger.log(it, len(self.source_loader), 99 | {"class": class_loss.item()}, 100 | {"class": torch.sum(cls_pred == class_l.data).item(), }, data.shape[0]) 101 | del loss, class_loss, class_logit 102 | 103 | self.model.eval() 104 | with torch.no_grad(): 105 | for phase, loader in self.test_loaders.items(): 106 | total = len(loader.dataset) 107 | 108 | class_correct = self.do_test(loader) 109 | 110 | class_acc = float(class_correct) / total 111 | self.logger.log_test(phase, {"class": class_acc}) 112 | self.results[phase][self.current_epoch] = class_acc 113 | 114 | def do_test(self, loader): 115 | class_correct = 0 116 | for it, ((data, nouse, class_l), _) in enumerate(loader): 117 | data, nouse, class_l = data.to(self.device), nouse.to(self.device), class_l.to(self.device) 118 | 119 | class_logit = self.model(data, class_l, False) 120 | _, cls_pred = class_logit.max(dim=1) 121 | 122 | class_correct += torch.sum(cls_pred == class_l.data) 123 | 124 | return class_correct 125 | 126 | 127 | def do_training(self): 128 | self.logger = Logger(self.args, update_frequency=30) 129 | self.results = {"val": torch.zeros(self.args.epochs), "test": torch.zeros(self.args.epochs)} 130 | for self.current_epoch in range(self.args.epochs): 131 | self.scheduler.step() 132 | self.logger.new_epoch(self.scheduler.get_lr()) 133 | self._do_epoch(self.current_epoch) 134 | val_res = self.results["val"] 135 | test_res = self.results["test"] 136 | idx_best = val_res.argmax() 137 | print("Best val %g, corresponding test %g - best test: %g, best epoch: %g" % ( 138 | val_res.max(), test_res[idx_best], test_res.max(), idx_best)) 139 | self.logger.save_best(test_res[idx_best], test_res.max()) 140 | return self.logger, self.model 141 | 142 | 143 | def main(): 144 | args = get_args() 145 | # args.source = ['art_painting', 'cartoon', 'sketch'] 146 | # args.target = 'photo' 147 | args.source = ['art_painting', 'cartoon', 'photo'] 148 | args.target = 'sketch' 149 | # args.source = ['art_painting', 'photo', 'sketch'] 150 | # args.target = 'cartoon' 151 | # args.source = ['photo', 'cartoon', 'sketch'] 152 | # args.target = 'art_painting' 153 | # -------------------------------------------- 154 | print("Target domain: {}".format(args.target)) 155 | torch.manual_seed(0) 156 | torch.cuda.manual_seed(0) 157 | device = torch.device("cuda" if torch.cuda.is_available() else "cpu") 158 | trainer = Trainer(args, device) 159 | trainer.do_training() 160 | 161 | 162 | if __name__ == "__main__": 163 | torch.backends.cudnn.benchmark = True 164 | main() 165 | -------------------------------------------------------------------------------- /Domain_Generalization/utils/Logger.py: -------------------------------------------------------------------------------- 1 | from time import time 2 | 3 | from os.path import join, dirname 4 | 5 | from .tf_logger import TFLogger 6 | 7 | _log_path = join(dirname(__file__), '../logs') 8 | 9 | 10 | # high level wrapper for tf_logger.TFLogger 11 | class Logger(): 12 | def __init__(self, args, update_frequency=10): 13 | self.current_epoch = 0 14 | self.max_epochs = args.epochs 15 | self.last_update = time() 16 | self.start_time = time() 17 | self._clean_epoch_stats() 18 | self.update_f = update_frequency 19 | folder, logname = self.get_name_from_args(args) 20 | log_path = join(_log_path, folder, logname) 21 | if args.tf_logger: 22 | self.tf_logger = TFLogger(log_path) 23 | # print("Saving to %s" % log_path) 24 | else: 25 | self.tf_logger = None 26 | self.current_iter = 0 27 | 28 | def new_epoch(self, learning_rates): 29 | self.current_epoch += 1 30 | self.last_update = time() 31 | self.lrs = learning_rates 32 | print("New epoch - lr: %s" % ", ".join([str(lr) for lr in self.lrs])) 33 | self._clean_epoch_stats() 34 | if self.tf_logger: 35 | for n, v in enumerate(self.lrs): 36 | self.tf_logger.scalar_summary("aux/lr%d" % n, v, self.current_iter) 37 | 38 | def log(self, it, iters, losses, samples_right, total_samples): 39 | self.current_iter += 1 40 | loss_string = ", ".join(["%s : %.3f" % (k, v) for k, v in losses.items()]) 41 | for k, v in samples_right.items(): 42 | past = self.epoch_stats.get(k, 0.0) 43 | self.epoch_stats[k] = past + v 44 | self.total += total_samples 45 | acc_string = ", ".join(["%s : %.2f" % (k, 100 * (v / total_samples)) for k, v in samples_right.items()]) 46 | if it % self.update_f == 0: 47 | print("%d/%d of epoch %d/%d %s - acc %s [bs:%d]" % (it, iters, self.current_epoch, self.max_epochs, loss_string, 48 | acc_string, total_samples)) 49 | # update tf log 50 | if self.tf_logger: 51 | for k, v in losses.items(): self.tf_logger.scalar_summary("train/loss_%s" % k, v, self.current_iter) 52 | 53 | def _clean_epoch_stats(self): 54 | self.epoch_stats = {} 55 | self.total = 0 56 | 57 | def log_test(self, phase, accuracies): 58 | print("Accuracies on %s: " % phase + ", ".join(["%s : %.2f" % (k, v * 100) for k, v in accuracies.items()])) 59 | if self.tf_logger: 60 | for k, v in accuracies.items(): self.tf_logger.scalar_summary("%s/acc_%s" % (phase, k), v, self.current_iter) 61 | 62 | def save_best(self, val_test, best_test): 63 | print("It took %g" % (time() - self.start_time)) 64 | if self.tf_logger: 65 | for x in range(10): 66 | self.tf_logger.scalar_summary("best/from_val_test", val_test, x) 67 | self.tf_logger.scalar_summary("best/max_test", best_test, x) 68 | 69 | @staticmethod 70 | def get_name_from_args(args): 71 | folder_name = "%s_to_%s" % ("-".join(sorted(args.source)), args.target) 72 | if args.folder_name: 73 | folder_name = join(args.folder_name, folder_name) 74 | name = "eps%d_bs%d_lr%g_class%d_jigClass%d_jigWeight%g" % (args.epochs, args.batch_size, args.learning_rate, args.n_classes, 75 | 30, 0.7) 76 | # if args.ooo_weight > 0: 77 | # name += "_oooW%g" % args.ooo_weight 78 | if args.train_all: 79 | name += "_TAll" 80 | if args.bias_whole_image: 81 | name += "_bias%g" % args.bias_whole_image 82 | if args.classify_only_sane: 83 | name += "_classifyOnlySane" 84 | if args.TTA: 85 | name += "_TTA" 86 | try: 87 | name += "_entropy%g_jig_tW%g" % (args.entropy_weight, args.target_weight) 88 | except AttributeError: 89 | pass 90 | if args.suffix: 91 | name += "_%s" % args.suffix 92 | name += "_%d" % int(time() % 1000) 93 | return folder_name, name 94 | -------------------------------------------------------------------------------- /Domain_Generalization/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeLightCMU/RSC/bf6d280c5d74910f009ea8963c59167252659666/Domain_Generalization/utils/__init__.py -------------------------------------------------------------------------------- /Domain_Generalization/utils/tf_logger.py: -------------------------------------------------------------------------------- 1 | # Code referenced from https://gist.github.com/gyglim/1f8dfb1b5c82627ae3efcfbbadb9f514 2 | import tensorflow as tf 3 | import numpy as np 4 | import scipy.misc 5 | try: 6 | from StringIO import StringIO # Python 2.7 7 | except ImportError: 8 | from io import BytesIO # Python 3.x 9 | 10 | 11 | class TFLogger(object): 12 | 13 | def __init__(self, log_dir): 14 | """Create a summary writer logging to log_dir.""" 15 | self.writer = tf.compat.v1.summary.FileWriter(log_dir) 16 | 17 | def scalar_summary(self, tag, value, step): 18 | """Log a scalar variable.""" 19 | summary = tf.compat.v1.Summary(value=[tf.compat.v1.Summary.Value(tag=tag, simple_value=value)]) 20 | self.writer.add_summary(summary, step) 21 | 22 | def image_summary(self, tag, images, step): 23 | """Log a list of images.""" 24 | 25 | img_summaries = [] 26 | for i, img in enumerate(images): 27 | # Write the image to a string 28 | try: 29 | s = StringIO() 30 | except: 31 | s = BytesIO() 32 | scipy.misc.toimage(img).save(s, format="png") 33 | 34 | # Create an Image object 35 | img_sum = tf.Summary.Image(encoded_image_string=s.getvalue(), 36 | height=img.shape[0], 37 | width=img.shape[1]) 38 | # Create a Summary value 39 | img_summaries.append(tf.Summary.Value(tag='%s/%d' % (tag, i), image=img_sum)) 40 | 41 | # Create and write Summary 42 | summary = tf.Summary(value=img_summaries) 43 | self.writer.add_summary(summary, step) 44 | 45 | def histo_summary(self, tag, values, step, bins=1000): 46 | """Log a histogram of the tensor of values.""" 47 | 48 | # Create a histogram using numpy 49 | counts, bin_edges = np.histogram(values, bins=bins) 50 | 51 | # Fill the fields of the histogram proto 52 | hist = tf.HistogramProto() 53 | hist.min = float(np.min(values)) 54 | hist.max = float(np.max(values)) 55 | hist.num = int(np.prod(values.shape)) 56 | hist.sum = float(np.sum(values)) 57 | hist.sum_squares = float(np.sum(values**2)) 58 | 59 | # Drop the start of the first bin 60 | bin_edges = bin_edges[1:] 61 | 62 | # Add bin edges and counts 63 | for edge in bin_edges: 64 | hist.bucket_limit.append(edge) 65 | for c in counts: 66 | hist.bucket.append(c) 67 | 68 | # Create and write Summary 69 | summary = tf.Summary(value=[tf.Summary.Value(tag=tag, histo=hist)]) 70 | self.writer.add_summary(summary, step) 71 | self.writer.flush() 72 | -------------------------------------------------------------------------------- /Domain_Generalization/utils/vis.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | 3 | def view_training(logger, title): 4 | fig, ax1 = plt.subplots() 5 | for k,v in logger.losses.items(): 6 | ax1.plot(v, label=k) 7 | l = len(v) 8 | updates = l / len(logger.val_acc["class"]) 9 | plt.legend() 10 | ax2 = ax1.twinx() 11 | for k,v in logger.val_acc.items(): 12 | ax2.plot(range(0,l,int(updates)), v, label="Test %s" % k) 13 | plt.legend() 14 | plt.title(title + " last acc %.2f:" % logger.val_acc["class"][-1]) 15 | plt.show() -------------------------------------------------------------------------------- /ImageNet/.idea/ImageNet.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /ImageNet/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ImageNet/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /ImageNet/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ImageNet/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ImageNet/.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | ia 113 | 114 | 115 | 116 | 118 | 119 | 125 | 126 | 127 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 |