From 597c8d3d8f2fa8412984c246eba482c455ccf7b9 Mon Sep 17 00:00:00 2001 From: Rohit Lal Date: Sat, 15 Jan 2022 19:16:20 +0530 Subject: [PATCH 1/2] completed centroids + source only training --- .gitignore | 1 + image_source_final.py | 44 ++----------- scripts/endtoend.sh | 9 +-- warmup.py | 144 ++++++++++-------------------------------- 4 files changed, 46 insertions(+), 152 deletions(-) diff --git a/.gitignore b/.gitignore index 7caf238..f7cef6a 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ centroids model/ OfficeHomeDataset_10072016.zip dalib/domainbed/__pycache__/* +degaa diff --git a/image_source_final.py b/image_source_final.py index 931fa3a..cdfc57c 100644 --- a/image_source_final.py +++ b/image_source_final.py @@ -223,7 +223,6 @@ def train_source(args): args.out_file.write(log_str + '\n') args.out_file.flush() print(log_str+'\n') - print(args) test_target(args) if acc_s_te >= acc_init: @@ -300,13 +299,12 @@ def print_args(args): if __name__ == "__main__": parser = argparse.ArgumentParser(description='SHOT') - parser.add_argument('--gpu_id', type=str, nargs='?', default='0', help="device id to run") parser.add_argument('--source',default='Ar,Pr', type=str, help="source") parser.add_argument('--target',default='Cl,Rw', type=str, help="target") parser.add_argument('--root', default='data/', type=str, help="source") parser.add_argument('--max_epoch', type=int, default=20, help="max iterations") parser.add_argument('--batch_size', type=int, default=64, help="batch_size") - parser.add_argument('--workers', type=int, default=4, help="number of workers") + parser.add_argument('--workers', type=int, default=8, help="number of workers") parser.add_argument('--dataset', type=str, default='OfficeHome', choices=['visda-2017', 'office', 'OfficeHome','pacs', 'domain_net']) parser.add_argument('--lr', type=float, default=1e-2, help="learning rate") parser.add_argument('--net', type=str, default='resnet50', help="vgg16, resnet50, resnet101") @@ -344,29 +342,16 @@ def print_args(args): names = ['clipart', 'infograph', 'painting', 'quickdraw', 'sketch', 'real'] # args.class_num = 345 - os.environ["CUDA_VISIBLE_DEVICES"] = args.gpu_id + # os.environ["CUDA_VISIBLE_DEVICES"] = args.gpu_id SEED = args.seed torch.manual_seed(SEED) torch.cuda.manual_seed(SEED) np.random.seed(SEED) random.seed(SEED) - # torch.backends.cudnn.deterministic = True - # folder = './data/' - # args.s_dset_path = folder + args.dataset + '/' + names[args.source] + '.txt' - # args.test_dset_path = folder + args.dataset + '/' + names[args.t] + '.txt' mode = 'online' if args.wandb else 'disabled' wandb.init(project='degaa', entity='vclab', name=f'SRC Train: {args.source}', mode=mode) print(print_args(args)) - # if args.dataset == 'OfficeHome': - # if args.da == 'pda': - # args.class_num = 65 - # args.src_classes = [i for i in range(65)] - # args.tar_classes = [i for i in range(25)] - # if args.da == 'oda': - # args.class_num = 25 - # args.src_classes = [i for i in range(25)] - # args.tar_classes = [i for i in range(65)] args.output_dir_src = osp.join(args.output, args.da, args.dataset, args.source.replace(',','')) args.name_src = args.source.replace(',','') @@ -378,27 +363,8 @@ def print_args(args): args.out_file = open(osp.join(args.output_dir_src, 'log.txt'), 'w') args.out_file.write(print_args(args)+'\n') args.out_file.flush() - train_source(args) - - args.out_file = open(osp.join(args.output_dir_src, 'log_test.txt'), 'w') - # for i in range(len(names)): - # if i == args.source: - # continue - # args.t = i args.name = args.source.replace(',','') + '_' + args.target.replace(',','') - - # folder = './data/' - # args.s_dset_path = folder + args.dataset + '/' + names[args.source] + '_list.txt' - # args.test_dset_path = folder + args.dataset + '/' + names[args.t] + '_list.txt' - - # if args.dataset == 'OfficeHome': - # if args.da == 'pda': - # args.class_num = 65 - # args.src_classes = [i for i in range(65)] - # args.tar_classes = [i for i in range(25)] - # if args.da == 'oda': - # args.class_num = 25 - # args.src_classes = [i for i in range(25)] - # args.tar_classes = [i for i in range(65)] - + args.out_file = open(osp.join(args.output_dir_src, 'log_test.txt'), 'w') + + train_source(args) test_target(args) diff --git a/scripts/endtoend.sh b/scripts/endtoend.sh index 64410ad..84781d5 100644 --- a/scripts/endtoend.sh +++ b/scripts/endtoend.sh @@ -1,6 +1,7 @@ # for prototypes CUDA_VISIBLE_DEVICE=0 python src/embeddings.py --wandb --output_dir ./run2 -# for warmup (will save 3 weights netF, netB, netC) -python image_source_final.py --gpu_id 2 --dataset OfficeHome --output weights --batch_size 128 --max_epoch 50 --source Ar,Pr --target Cl,Rw --wandb 0 - -# for adaptation \ No newline at end of file +# for source only training (will save 3 weights netF, netB, netC) +CUDA_VISIBLE_DEVICE=0 python image_source_final.py --dataset OfficeHome --output weights --batch_size 128 --max_epoch 50 --source Ar,Pr --target Cl,Rw --wandb 0 +# for computing centroids and saving TSNE plots +CUDA_VISIBLE_DEVICE=0 python warmup.py --dataset OfficeHome --source Ar,Pr --target Cl,Rw --trained_wt weights/uda/OfficeHome +# for adaptation diff --git a/warmup.py b/warmup.py index 01341a7..ef5c4ce 100644 --- a/warmup.py +++ b/warmup.py @@ -19,9 +19,10 @@ import matplotlib.pyplot as plt import pandas as pd import os - -sys.path.append('../../..') +import sys sys.path.append('..') +sys.path.append('common') +sys.path.append('src') from common.modules.classifier import Classifier import common.vision.datasets as datasets import common.vision.models as models @@ -39,6 +40,8 @@ import network from sklearn.manifold import TSNE import seaborn as sns +from data_helper import setup_datasets + sns.set(style="darkgrid") np.random.seed(0) @@ -47,100 +50,15 @@ device = torch.device("cuda" if torch.cuda.is_available() else "cpu") - -def data_load(args, batch_size=64): - ## prepare data - txt_path=f'data/{args.dset}' - - - def image(resize_size=256, crop_size=224, alexnet=False): - normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], - std=[0.229, 0.224, 0.225]) - return transforms.Compose([ - transforms.Resize((resize_size, resize_size)), - transforms.RandomCrop(crop_size), - transforms.RandomHorizontalFlip(), - transforms.ToTensor(), - normalize - ]) - - def image_test(resize_size=256, crop_size=224, alexnet=False): - normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], - std=[0.229, 0.224, 0.225]) - return transforms.Compose([ - transforms.Resize((resize_size, resize_size)), - transforms.ToTensor(), - normalize - ]) - - dsets = {} - dset_loaders = {} - dset_loaders_test = {} - - train_bs = batch_size - - if args.dset == 'office': - txt_files = {'amazon' : f'{txt_path}/amazon.txt', - 'webcam': f'{txt_path}/webcam.txt', - 'dslr': f'{txt_path}/dslr.txt'} - args.num_classes = 31 - - if args.dset == 'office-home': - txt_files = {'Art' : f'{txt_path}/Art.txt', - 'Clipart': f'{txt_path}/Clipart.txt', - 'Product': f'{txt_path}/Product.txt', - 'RealWorld': f'{txt_path}/RealWorld.txt'} - args.num_classes = 65 - - if args.dset == 'pacs': - txt_files = {'art_painting' : f'{txt_path}/art_painting.txt', - 'cartoon': f'{txt_path}/cartoon.txt', - 'photo': f'{txt_path}/photo.txt', - 'sketch': f'{txt_path}/sketch.txt'} - - if args.dset == 'domain_net': - txt_files = {'clipart': f'{txt_path}/clipart.txt', - 'infograph': f'{txt_path}/infograph.txt', - 'painting': f'{txt_path}/painting.txt', - 'quickdraw': f'{txt_path}/quickdraw.txt', - 'sketch': f'{txt_path}/sketch.txt', - 'real': f'{txt_path}/real.txt'} - - txt_files_test = {'clipart': f'{txt_path}/clipart_test.txt', - 'infograph': f'{txt_path}/infograph_test.txt', - 'painting': f'{txt_path}/painting_test.txt', - 'quickdraw': f'{txt_path}/quickdraw_test.txt', - 'sketch': f'{txt_path}/sketch_test.txt', - 'real': f'{txt_path}/real_test.txt'} - args.num_classes = 345 - - for domain, paths in txt_files_test.items(): - txt_tar = open(paths).readlines() - dsets[domain] = ImageList_idx(txt_tar, transform=image_test()) - dset_loaders_test[domain] = DataLoader(dsets[domain], batch_size=train_bs,drop_last=False) - - if args.dset != 'domain_net': - dset_loaders_test = dset_loaders - - for domain, paths in txt_files.items(): - if domain in [args.source, args.target]: - txt_tar = open(paths).readlines() - - dsets[domain] = ImageList_idx(txt_tar, transform=image()) - dset_loaders[domain] = DataLoader(dsets[domain], batch_size=train_bs, shuffle=True,drop_last=True) - - return dset_loaders, dset_loaders_test - - -def load_models(args,domain): +def load_models(args,dom_adapts): model_loaders = {} - if args.dset == 'office-home': - wt_abbr = { 'Art': 'A','Clipart': 'C', 'Product': 'P', 'RealWorld': 'R'} + # if args.dataset == 'office-home': + # wt_abbr = { 'Art': 'A','Clipart': 'C', 'Product': 'P', 'RealWorld': 'R'} - dom_adapts = wt_abbr[domain] + # dom_adapts = wt_abbr[domain] - print('Loading weights for ', domain) + print('Loading weights for ', dom_adapts) if args.net[0:3] == 'res': netF = network.ResBase(res_name=args.net).to(device) elif args.net == 'vit': @@ -150,7 +68,7 @@ def load_models(args,domain): args.bottleneck_dim = 256 netB = network.feat_bootleneck(type='bn', feature_dim=args.feature_dim,bottleneck_dim=args.bottleneck_dim).to(device) - netC = network.feat_classifier(type='wn', class_num=args.num_classes, bottleneck_dim=args.bottleneck_dim).to(device) + netC = network.feat_classifier(type='wn', class_num=args.class_num, bottleneck_dim=args.bottleneck_dim).to(device) modelpathF = f'{args.trained_wt}/{dom_adapts}/source_F.pt' netF.load_state_dict(torch.load(modelpathF)) @@ -188,8 +106,8 @@ def compute_features(args, net, dataloader, dataset_name=None): iter_test = iter(dataloader) for i in tqdm(range(len(dataloader))): data = iter_test.next() - inputs = data[0].to('cuda') - labels = data[1].to('cuda') + inputs = data[0][0].to('cuda') + labels = data[0][1].to('cuda') feats = netB(netF(inputs)) @@ -219,15 +137,15 @@ def compute_features(args, net, dataloader, dataset_name=None): def compute_centroids(args,features_labels): - run_sum = torch.zeros((args.num_classes, args.bottleneck_dim), dtype=torch.float).to(device) - lbl_cnt = torch.ones((args.num_classes), dtype=torch.float).to(device) - cls_centroids = torch.zeros((args.num_classes, args.bottleneck_dim), dtype=torch.float).to(device) + run_sum = torch.zeros((args.class_num, args.bottleneck_dim), dtype=torch.float).to(device) + lbl_cnt = torch.ones((args.class_num), dtype=torch.float).to(device) + cls_centroids = torch.zeros((args.class_num, args.bottleneck_dim), dtype=torch.float).to(device) for feat, lbl in zip(features_labels['feature'],features_labels['label']): run_sum[lbl] += feat lbl_cnt[lbl] += 1 - for i in range(args.num_classes): + for i in range(args.class_num): # if lbl_cnt[i] == 0: # print('Failed computing centroid (no images present) for Class', i) cls_centroids[i] = run_sum[i] / lbl_cnt[i] @@ -237,7 +155,7 @@ def compute_centroids(args,features_labels): def tsne_plotter(args, np_cls_centroids, np_feat, np_label, plt_name=None, save_cnt_path=None): cat_feat = np.concatenate((np_cls_centroids, np_feat), axis=0) - save_folder = f'{save_cnt_path}/{args.dset}' + save_folder = f'{save_cnt_path}/{args.dataset}' if save_folder is not None: if not os.path.exists(save_folder): os.makedirs(save_folder) @@ -246,8 +164,8 @@ def tsne_plotter(args, np_cls_centroids, np_feat, np_label, plt_name=None, save_ data_cen, data_feat = {}, {} X_embedded = TSNE(n_components=2, perplexity=15, learning_rate=10).fit_transform(cat_feat) - data_cen['x_cent'], data_cen['y_cent'], data_cen['lbl_cent'] = X_embedded[:args.num_classes,0],X_embedded[:args.num_classes,1], np.arange(args.num_classes) - data_feat['x_feat'], data_feat['y_feat'], data_feat['lbl_feat'] = X_embedded[args.num_classes:,0],X_embedded[args.num_classes:,1], np_label + data_cen['x_cent'], data_cen['y_cent'], data_cen['lbl_cent'] = X_embedded[:args.class_num,0],X_embedded[:args.class_num,1], np.arange(args.class_num) + data_feat['x_feat'], data_feat['y_feat'], data_feat['lbl_feat'] = X_embedded[args.class_num:,0],X_embedded[args.class_num:,1], np_label data_feat=pd.DataFrame(data_feat) data_cen=pd.DataFrame(data_cen) @@ -259,11 +177,17 @@ def tsne_plotter(args, np_cls_centroids, np_feat, np_label, plt_name=None, save_ if not os.path.exists('tsne_plts'): os.makedirs('tsne_plts') - plt.savefig(f'tsne_plts/tsne_{plt_name}.pdf') + plt.savefig(f'tsne_plts/tsne_{plt_name}.png') def main(args): - dom_dataloaders, dset_loaders_test = data_load(args, batch_size=args.batch_size) + dom_dataloaders = {} + # dom_dataloaders, dataset_loaders_test = data_load(args, batch_size=args.batch_size) + args.class_num, train_src_loader, train_target_loader, _, _ = setup_datasets(args) + args.source = ''.join(args.source) + args.target = ''.join(args.target) + dom_dataloaders[args.source] = train_src_loader + dom_dataloaders[args.target] = train_target_loader model_loaders ={} for domain in [args.source, args.target]: @@ -285,13 +209,15 @@ def main(args): parser = argparse.ArgumentParser(description='Clusformer') parser.add_argument('-b', '--batch_size', default=32, type=int,help='mini-batch size (default: 54)') # parser.add_argument('--gpu_id', type=str, nargs='?', default='0', help="device id to run") - parser.add_argument('-s', '--source', type=str,help='Select the source [amazon, dslr, webcam]') - parser.add_argument('-t', '--target', type=str,help='Select the target [amazon, dslr, webcam]') - parser.add_argument('-d', '--dset', type=str,help='Select the target [amazon, dslr, webcam]') + parser.add_argument('--root', default='data/', type=str, ) + parser.add_argument('--workers', default=8, type=int ) + parser.add_argument('-s', '--source',default='Ar,Pr', type=str,help='Select the source [amazon, dslr, webcam]') + parser.add_argument('-t', '--target', default='Cl,Rw',type=str,help='Select the target [amazon, dslr, webcam]') + parser.add_argument('-d', '--dataset',default='OfficeHome', type=str,help='Select the target [amazon, dslr, webcam]') # parser.add_argument('-e', '--epochs', default=40, type=int,help='select number of cycles') parser.add_argument('-w', '--wandb', default=0, type=int,help='Log to wandb or not [0 - dont use | 1 - use]') - parser.add_argument('--net', default='vit', type=str,help='Select vit or rn50 based (default: vit)') - parser.add_argument('-l', '--trained_wt', default='weights/office-home', type=str,help='Load src') + parser.add_argument('--net', default='resnet50', type=str,help='Select vit or resnet50 based (default: vit)') + parser.add_argument('-l', '--trained_wt', default='weights/uda/OfficeHome', type=str,help='Load src') args = parser.parse_args() print(args) main(args) From 9bb22c42ec8c67987ac855e2d09317c0cbe707b6 Mon Sep 17 00:00:00 2001 From: take2rohit Date: Sat, 15 Jan 2022 21:07:07 +0530 Subject: [PATCH 2/2] new Changes Almost Completed! --- .gitignore | 3 + .../vision/datasets/Concatenate/__init__.py | 54 +++++++++ dalib/__pycache__/__init__.cpython-37.pyc | Bin 208 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 244 -> 0 bytes .../__pycache__/algorithms.cpython-37.pyc | Bin 32024 -> 0 bytes .../algorithms_proto.cpython-37.pyc | Bin 10697 -> 0 bytes .../__pycache__/datasets.cpython-37.pyc | Bin 5182 -> 0 bytes .../hparams_registry.cpython-37.pyc | Bin 3657 -> 0 bytes .../__pycache__/networks.cpython-37.pyc | Bin 9273 -> 0 bytes dalib/domainbed/algorithms_proto.py | 8 +- dalib/domainbed/hparams_registry.py | 2 + .../fast_data_loader.cpython-37.pyc | Bin 2174 -> 0 bytes .../lib/__pycache__/misc.cpython-37.pyc | Bin 7662 -> 0 bytes .../lib/__pycache__/prototype.cpython-37.pyc | Bin 6065 -> 0 bytes .../__pycache__/wide_resnet.cpython-37.pyc | Bin 3373 -> 0 bytes scripts/adapt.sh | 1 + scripts/embeddings.sh | 3 + scripts/source_only.sh | 8 +- src/degaa.py | 108 ++++++++++++------ tsne_plts/tsne_ArPr.png | Bin 0 -> 112941 bytes tsne_plts/tsne_Art.pdf | Bin 59365 -> 0 bytes 21 files changed, 141 insertions(+), 46 deletions(-) create mode 100644 common/vision/datasets/Concatenate/__init__.py delete mode 100644 dalib/__pycache__/__init__.cpython-37.pyc delete mode 100644 dalib/domainbed/__pycache__/__init__.cpython-37.pyc delete mode 100644 dalib/domainbed/__pycache__/algorithms.cpython-37.pyc delete mode 100644 dalib/domainbed/__pycache__/algorithms_proto.cpython-37.pyc delete mode 100644 dalib/domainbed/__pycache__/datasets.cpython-37.pyc delete mode 100644 dalib/domainbed/__pycache__/hparams_registry.cpython-37.pyc delete mode 100644 dalib/domainbed/__pycache__/networks.cpython-37.pyc delete mode 100644 dalib/domainbed/lib/__pycache__/fast_data_loader.cpython-37.pyc delete mode 100644 dalib/domainbed/lib/__pycache__/misc.cpython-37.pyc delete mode 100644 dalib/domainbed/lib/__pycache__/prototype.cpython-37.pyc delete mode 100644 dalib/domainbed/lib/__pycache__/wide_resnet.cpython-37.pyc create mode 100644 scripts/adapt.sh create mode 100644 scripts/embeddings.sh create mode 100644 tsne_plts/tsne_ArPr.png delete mode 100644 tsne_plts/tsne_Art.pdf diff --git a/.gitignore b/.gitignore index f7cef6a..bef152b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ wandb/ protoruns/ **/__pycache__/ **/**/__pycache__/ +**/**/**/__pycache__/ logs/ *.npy centroids @@ -17,3 +18,5 @@ model/ OfficeHomeDataset_10072016.zip dalib/domainbed/__pycache__/* degaa +**/tensorboard/ +san/ diff --git a/common/vision/datasets/Concatenate/__init__.py b/common/vision/datasets/Concatenate/__init__.py new file mode 100644 index 0000000..4c23e01 --- /dev/null +++ b/common/vision/datasets/Concatenate/__init__.py @@ -0,0 +1,54 @@ +import bisect +import warnings + +from torch.utils.data import Dataset, IterableDataset +# from torch.utils.data.dataset import ConcatDataset + + +class ConcatenateDataset(Dataset): + r"""Dataset as a concatenation of multiple datasets. + + This class is useful to assemble different existing datasets. + + Arguments: + datasets (sequence): List of datasets to be concatenated + """ + + @staticmethod + def cumsum(sequence): + r, s = [], 0 + for e in sequence: + l = len(e) + r.append(l + s) + s += l + return r + + def __init__(self, datasets) -> None: + super(ConcatenateDataset, self).__init__() + # Cannot verify that datasets is Sized + assert len(datasets) > 0, 'datasets should not be an empty iterable' # type: ignore + self.datasets = list(datasets) + for d in self.datasets: + assert not isinstance(d, IterableDataset), "ConcatenateDataset does not support IterableDataset" + self.cumulative_sizes = self.cumsum(self.datasets) + + def __len__(self): + return self.cumulative_sizes[-1] + + def __getitem__(self, idx): + if idx < 0: + if -idx > len(self): + raise ValueError("absolute value of index should not exceed dataset length") + idx = len(self) + idx + dataset_idx = bisect.bisect_right(self.cumulative_sizes, idx) + if dataset_idx == 0: + sample_idx = idx + else: + sample_idx = idx - self.cumulative_sizes[dataset_idx - 1] + return self.datasets[dataset_idx][sample_idx], self.datasets[dataset_idx].domain_index + + @property + def cummulative_sizes(self): + warnings.warn("cummulative_sizes attribute is renamed to " + "cumulative_sizes", DeprecationWarning, stacklevel=2) + return self.cumulative_sizes \ No newline at end of file diff --git a/dalib/__pycache__/__init__.cpython-37.pyc b/dalib/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index e51e69fc0920fd9cd25b3b6a344114ad4a0a66d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmZ?b<>g`kf{>eGiN-+sF^B^L%s_?%5Et_Si4=wu#uTP><|u{~=3oX*mME^ol*EFP z#FEVXyj$$K`6;D2sl~UrONtWnigUoCewvK8*yH09b8_P2S27f_01W{Xzufhc^Ycnl z^GftniZaVm^?fT{z_fFIPGXXRUw%nyQht7RvA%zBUU6=Tetxkom`+K|$xPCZkI&4@ YEQycTE2zB1VFR((juB|~XCP((0OgH4DgXcg diff --git a/dalib/domainbed/__pycache__/__init__.cpython-37.pyc b/dalib/domainbed/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index cfc1ce723fc2985a2499d72bfc82bc93d885c6e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmYL?!Ab)`42EZQ)lz8LNATK%&I^c0>(v(NLGTi?X4np$oh&m^*hlIs&DBTn=E=Aq z{_y`_LPD}$EapaaT)yB=`T5)Ysn+5_of{1@RM8ooclE2GdT&-2rNPi~@^a`i42gxy zj8HH;$z}dOE6riRgu0Ym=d+}7yQ<0+0EPf?GU-y!Px1Y1-#ChkVk!9#XP?H$i5m{s xUT;}k%Y4jsw~x6O%lT#^VeqXb?$O8Akp=M43&8C#mf2m;^d8)OrC+|(<_94ANv8k+ diff --git a/dalib/domainbed/__pycache__/algorithms.cpython-37.pyc b/dalib/domainbed/__pycache__/algorithms.cpython-37.pyc deleted file mode 100644 index c085d2bf30e3f17ffe7b9bca0a286fbd8ff31066..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32024 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 diff --git a/dalib/domainbed/algorithms_proto.py b/dalib/domainbed/algorithms_proto.py index ad03841..e3925ba 100644 --- a/dalib/domainbed/algorithms_proto.py +++ b/dalib/domainbed/algorithms_proto.py @@ -44,6 +44,7 @@ class Proto(nn.Module): """ def __init__(self, input_shape, num_classes, num_domains, hparams, use_relu=True): + # def __init__(self, hparams, use_relu=True): super(Proto, self).__init__() self.hparams = hparams @@ -60,19 +61,14 @@ def __init__(self, input_shape, num_classes, num_domains, hparams, use_relu=True # weight_decay=self.hparams['weight_decay'] # ) - # initializing constants - self.nd = num_domains - self.nc = num_classes - # initializing architecture parameters - featurizer = networks.Featurizer(input_shape, self.hparams) + featurizer = networks.Featurizer(hparams["input_shape"], self.hparams) self.ft_output_size = featurizer.n_outputs self.proto_size = int(self.ft_output_size * 0.25) self.feat_size = int(self.ft_output_size) # initializing hyperparameters self.proto_frac = hparams["proto_train_frac"] - self.epochs = hparams["n_steps"] self.proto_epochs = hparams["n_steps_proto"] # self.kernel_type = "gaussian" diff --git a/dalib/domainbed/hparams_registry.py b/dalib/domainbed/hparams_registry.py index 5faf54c..7c93a45 100644 --- a/dalib/domainbed/hparams_registry.py +++ b/dalib/domainbed/hparams_registry.py @@ -27,6 +27,7 @@ def _hparams(algorithm, dataset, random_state): hparams["dataset"] = (dataset, dataset) hparams["domains_per_iter"] = (4, 4) hparams["data_parallel"] = (True, True) + hparams["input_shape"] = ((3, 224, 224,), (3, 224, 224,)) if dataset in RESNET_DATASETS: hparams["lr"] = (1e-4, 10 ** random_state.uniform(-5.5, -3.5)) @@ -44,6 +45,7 @@ def _hparams(algorithm, dataset, random_state): hparams["weight_decay"] = (1e-4, 10 ** random_state.uniform(-4, -4)) hparams["class_balanced"] = (False, False) + hparams["num_proto_extraction_points"] = (500, 500) if algorithm in ["DANN", "CDANN"]: diff --git a/dalib/domainbed/lib/__pycache__/fast_data_loader.cpython-37.pyc b/dalib/domainbed/lib/__pycache__/fast_data_loader.cpython-37.pyc deleted file mode 100644 index 50d4520b2431fd35938e58dda139e0f9ca6faa56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2174 zcmZuy&2Aev5GMCeE7@{v*GZbR4Hjt;M2A{v&_hwQff4^S23n=4f*24G5bGsvt-RWm zNh+2M`4R`n$?uRH`x1Q+UVG{*^wb&dDvsSy;E+2U4(I2a(UWGgL127$V=tc83Hcj8 z=EH-{22Aw`2q&Coq(^=s+~MvU!d*cIbl?o!bGPRK*W*5Lec{7*z-gDXf`8y1=_E+! z!-35POcenUq(?dFIh^*~QftpE_4IrmfQFh`X1n=8nx|THM z7sEKs_XTg`*Fmf_WM$_0iOXjG?29p<&9JOi%Az_kVpZl~54FF?R~%Y{NRa zJ6W5N0ofui8)tMzUl2-;8++u~*}HVrde(9zCfWG=u}=Ed%aR1hMT4}Ej5Sd+vIuqP zqVs8^tYoJZ;I%v+3dT%>v0=f-8SWPuJ08bbby8!D7YSps21+FWuMF`u3naRR687+1%4gL-|P_2s~@6258UbsLV?p?TNL4NP5 z)Vt;kw7|Jvo})Il1logh#P$unT*&l5_VhE0{95PqxH}R_dN57%!^oBZ zZcapc*w-pLNp(NUME>*k@6R@$MyZO@EE9)u_G2Vo2|0}r$fF|7b#zjUp#*`OYe;rB zjSht_6$)Ta;zR?l$P=;t97=3KicuCPVhG}9As-J}S$+!68WxgFrKiHwxhzI3gY@j+ zEfhQ{u+5~Rg~%lOu6Q{SE>Vx-d|H@+@p(l=g_3uRnz%!Iq0 zo!!pv^KIjgb($&Tp-X1*36@3GVa&}v8xO(%h;yjsIeVomj>q6Y8fSA>06GtK->i&t zsO=1+$|{zJ6=fQiFtd0zt5Eu7o3kYsgN3bHS(`O9MG0+cRX*e@`nHDTK9ZY2pmo(5 zOCUrFiVC}xM1KBHG;)-T&rP`dUd zC^cR#CR#qgtuN#JP{=P}KW|;Ma`)0_>?Rv9ZG$J)vsLi>Q~ubV^`VhsL&c7>iI*{8 zANjMYo!2z~yy9SWe*=53Yh}70+N%GN-HjJ-rT7~rzzCp1+5Q#3U&Sv70pmG!bRQ?e>#%8UM Igzl~8f0a`V;s5{u diff --git a/dalib/domainbed/lib/__pycache__/misc.cpython-37.pyc b/dalib/domainbed/lib/__pycache__/misc.cpython-37.pyc deleted file mode 100644 index 22f5736fadcded6fa73a78189a78bdd318352b21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7662 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 W(_t;FhhB5>>|AppTxwoeT>KwP5CfwC diff --git a/dalib/domainbed/lib/__pycache__/prototype.cpython-37.pyc b/dalib/domainbed/lib/__pycache__/prototype.cpython-37.pyc deleted file mode 100644 index 065bb77536eb8fe5e7123303a60a86af2a661dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6065 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 nte*sR?5YE+B2>@}JSymD+ehto%+TaF zU#4HT82b+`R?WlYA-eh-gkS?ExNxR?!0qS^TswLL&yM~q7zDhs31@-BIGaU-My-i! zO>@w+8h6^7wFhm?+rk&YD?aFmP(-iT;Kr|+Xo&a~6LA(C+&ps!x1ec?7BsC|vmu

N4UZ}5AYBCy(==6B!1uX zO!F|4MK(=Tev+9$X^D56aGna07Zc+R^HlX5;}nGn9+$<@uIRa@kr&B)niiQdakW5{KSrr%V|37?v*+lmgS-9|K@3-X1ZUhyLJ@m zG#~awIZN|mn2A2E2#sWoh6!=-(fybAZ{ann1Hrh*o%K)NfM!I{P;=0Ibc@OXCQEhz zTu%9tUpRtaB03IT`H6N9JnZ;7xCn&{t#|HlrrnDO+J^8iu`1rT&jj@|<9gQ@A??0t zD;SWD_KZi6UHuR3iv9__=S^@kNq=w9c$DhV{$43())~FnG?HXAO_fR#6D3KJ&N9rr zab5`Hk&!yZcq zTJKbXu(Rez2_616mNlLc@9-^t6SBkQ_n;r4uN!fUn)(Su#=tE$a76GG8v{+@zG{GF zp76m7?YMoU-t=Va5c_KvlWt-V9`OV3guI1gacgiY%bp^&smf9R?uor*yC zJMFCB;$YVm;kj>5Yu8SdbpM(@uB3l2LlPEkZuq?CRa&CMYg@Ig)mqz*@zr9UN%?&k zlEcXhNg@dh(_9C~t}yPfxF;#;8J~jxo(Z4Gat`L1P}CEc>{h$GCVrYdUx0dfIyI5n zFQpzWbk9eCWYe*1(m6p*-&Xy6B2%4N0{6JwgvE7;$ak?MSF3j*7(${2!fn*!rV}Gj zJp3Yla{JoHJFDxADDbI~f9YzLicc_EvJ2{5I~OiS>*Y&$`jVeISo^g;Si+mNmh>S- z!vh8zN~nCV7s;REH2Gr)!#_8k%%%(ZBU1H9yhq{#h@LAy#9;VK;{v;HGa&?{UZhey zfQ=#tG5!u%&~Z*SUb|Lp1eEALy+D2kgNc)5R*J=x_}WU6=Zkb&vDbnp?~_ftCif_t zPT^(Bl2)t$Cpy|tpo=I9GSKjr)r_!MH+nBM^)rYy{rJFL6EH$~s|biPB|;Dpiw*%%CVlMFT2z9IFsGcemS3KqFau~Ytj-v z6!r9H)W0F#BrOQX5|`@EHWTg^6W*btKGgVAXZ+8$9+CcScIq$P(*Shl%V3j`z@p zRCs~v4xb}IEWM?F=3R2mFlUML{M~0LD5&+}U#UVndzEi|YAEyHJ_9Sj-Z;Ru&cOTN74aPpZaTU2|MoXg>A_mDidc{=Rm%foasnl33{)h<@A-?VER0&4aGu*kJfqgX7-UW)}MV&-PdshU!{Y=62DIv*+B*?My5s5wt%0N{(#p%%`nV031z7K6Y$$PZ9OJbes zDi|mmrs(y@M$D_YXlCW$CVNTL*Ml3=wdR(?#g_1jjl zX|X3pk)h4(5rVL_6~&fkt5kklQj8f_9V_F*zw=}H7AbuD{cR#U>=Z>+pKq_0JL5$$ zB5I=8#@BNT(4f7xqS`L+;JiVn(xnSsPGl-1)yIm_#26ENVGD^RbCn0y7pksC*D=v2 eRlWHo1%>_G_ngRyP=s43%^SSs#&HyHy!C&ds0dmB diff --git a/scripts/adapt.sh b/scripts/adapt.sh new file mode 100644 index 0000000..8368723 --- /dev/null +++ b/scripts/adapt.sh @@ -0,0 +1 @@ +CUDA_VISIBLE_DEVICES=1 python src/degaa.py --output_dir ./adapt/run1 --tensorboard --source Ar,Pr --target Cl,Rw --batch_size 32 diff --git a/scripts/embeddings.sh b/scripts/embeddings.sh new file mode 100644 index 0000000..a99af3a --- /dev/null +++ b/scripts/embeddings.sh @@ -0,0 +1,3 @@ +# CUDA_VISIBLE_DEVICES=0 python src/embeddings_old.py --output_dir ./protoruns/run4 --batch_size 48 --num_proto_steps 100000 --tensorboard --resume 60000 + +CUDA_VISIBLE_DEVICES=1 python src/embeddings_old.py --output_dir ./protoruns/run5 --batch_size 32 --hparams '{"mixup":1}' --num_proto_steps 1000000 --tensorboard --resume 400100 --checkpoint_freq 10000 diff --git a/scripts/source_only.sh b/scripts/source_only.sh index 4eea324..23ade11 100644 --- a/scripts/source_only.sh +++ b/scripts/source_only.sh @@ -2,10 +2,10 @@ # python image_source_final.py --output san --gpu_id 0 --dset office --max_epoch 50 --s 0 --net vit #office-home -python image_source_final.py --output weights --gpu_id 0 --dset office-home --max_epoch 50 --s 0 --net resnet50 -python image_source_final.py --output weights --gpu_id 0 --dset office-home --max_epoch 50 --s 1 --net resnet50 -python image_source_final.py --output weights --gpu_id 1 --dset office-home --max_epoch 50 --s 2 --net resnet50 -python image_source_final.py --output weights --gpu_id 0 --dset office-home --max_epoch 50 --s 3 --net resnet50 +python image_source_final.py --output weights --gpu_id 2 --batch_size 128 --dataset OfficeHome --max_epoch 50 --source Ar,Pr --target Cl,Rw --wandb 0 +# python image_source_final.py --output weights --gpu_id 0 --dataset OfficeHome --max_epoch 50 --source "Ar,Pr" --target "Cl,Rw" +# python image_source_final.py --output weights --gpu_id 1 --dataset OfficeHome --max_epoch 50 --source "Ar,Pr" --target "Cl,Rw" +# python image_source_final.py --output weights --gpu_id 0 --dataset OfficeHome --max_epoch 50 --source "Ar,Pr" --target "Cl,Rw" #pacs # python image_source_final.py --output san --gpu_id 0 --dset pacs --max_epoch 50 --s 0 --net vit diff --git a/src/degaa.py b/src/degaa.py index 0d0103a..0a36a7d 100644 --- a/src/degaa.py +++ b/src/degaa.py @@ -1,5 +1,6 @@ import random import time +from typing import Counter import warnings import sys import argparse @@ -37,14 +38,17 @@ from common.utils.logger import CompleteLogger from common.utils.analysis import collect_feature, tsne, a_distance import network - +from data_helper import setup_datasets +from torch.utils.tensorboard import SummaryWriter # from torchsummary import summary import wandb +warnings.filterwarnings("ignore") + # wandb.init(project = "degaa") -# device = torch.device("cuda" if torch.cuda.is_available() else "cpu") +device = torch.device("cuda" if torch.cuda.is_available() else "cpu") # device = torch.device("cpu") print("Total GPUs Used:", torch.cuda.device_count()) i = 0 @@ -54,28 +58,34 @@ i = i + 1 +counter = 0 + def main(args: argparse.Namespace): if args.wandb: mode = "online" if args.wandb else "disabled" wandb.init(project="degaa", entity="flagarihant2000", mode=mode) wandb.run.name = "run_" + str(args.source) + str(args.target) + if args.tensorboard: + global writer + writer = SummaryWriter(os.path.join(args.output_dir,"tensorboard")) logger = CompleteLogger(args.log, args.phase) if args.seed is not None: random.seed(args.seed) torch.manual_seed(args.seed) - cudnn.deterministic = True - warnings.warn( - "You have chosen to seed training. " - "This will turn on the CUDNN deterministic setting, " - "which can slow down your training considerably! " - "You may see unexpected behavior when restarting " - "from checkpoints." - ) + # cudnn.deterministic = True + # warnings.warn( + # "You have chosen to seed training. " + # "This will turn on the CUDNN deterministic setting, " + # "which can slow down your training considerably! " + # "You may see unexpected behavior when restarting " + # "from checkpoints." + # ) cudnn.benchmark = True + ''' normalize = T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) train_transform = T.Compose( @@ -169,18 +179,21 @@ def main(args: argparse.Namespace): ) else: test_loader = val_loader + ''' + # val_iter = ForeverDataIterator(val_loader) + num_classes, train_source_loader, train_target_loader, val_loader, test_loader = setup_datasets(args, concat=True) + # num_classes = num_classes - 1 + print(f"Num Classes: {num_classes}") train_source_iter = ForeverDataIterator(train_source_loader) train_target_iter = ForeverDataIterator(train_target_loader) - # val_iter = ForeverDataIterator(val_loader) - # backbone = models.__dict__[args.arch](pretrained = True) netF = network.ResBase(res_name=args.net).to(device) modelpathB = "weights/uda/office-home/A/source_B.pt" # num_classes = args.num_classes # train_source_dataset.num_classes - num_classes = len(train_source_dataset.datasets[0].classes) + # num_classes = len(train_source_dataset.datasets[0].classes) args.num_classes = num_classes # classifier = ImageClassifier(backbone, num_classes = num_classes, bottleneck_dim = args.bottleneck_dim).to(device) @@ -236,13 +249,17 @@ def main(args: argparse.Namespace): # summary(gaa, [(32, 1024),(32, 1024)]) - # centroids = np.load('centroids/OfficeHome/Art_centroid.npy') - centroids = np.random.rand(28, 256) - - # prototypes_file = os.path.join("C:\Users\abdul\Projects\os-nsmt\temp_out\prototypes.pth") - # prototypes = torch.load(prototypes_file) - prototypes = {i: torch.rand(512) for i in range(4)} + centroids = np.load('/home/vikash/project/rohit_lal/os-nsmt/centroids/OfficeHome/ArPr_centroid.npy') + centroids = centroids[:num_classes-1] + print(centroids.shape) + # centroids = np.random.rand(28, 256) + + prototypes_file = os.path.join("/home/vikash/project/rohit_lal/os-nsmt/protoruns/run4/prototypes.pth") + prototypes = torch.load(prototypes_file) + print(prototypes.keys()) + # prototypes = {i: torch.rand(512) for i in range(4)} prototypes = torch.stack(list(prototypes.values()), dim=0) # shape: [4, 512] + prototypes = prototypes.to(device) if args.phase == "test": acc1 = validate(test_loader, classifier, args) @@ -262,14 +279,18 @@ def main(args: argparse.Namespace): lr_scheduler, epoch, args, + num_classes ) h_score = validate(val_loader, classifier, prototypes, args) - torch.save(classifier.state_dict(), logger.get_checkpoint_path("latest")) if h_score > best_h_score: - shutil.copy( - logger.get_checkpoint_path("latest"), logger.get_checkpoint_path("best") - ) + # torch.save(classifier, logger.get_checkpoint_path("latest")) + torch.save(netF, osp.join(logger.get_checkpoint_path("latest"), "source_F.pt")) + torch.save(netB, osp.join(logger.get_checkpoint_path("latest"), "source_B.pt")) + torch.save(netC, osp.join(logger.get_checkpoint_path("latest"), "source_C.pt")) + # shutil.copy( + # logger.get_checkpoint_path("latest"), logger.get_checkpoint_path("best") + # ) print("best_h_score = {:3.1f}".format(best_h_score)) @@ -278,11 +299,12 @@ def main(args: argparse.Namespace): print("test_h_score = {:3.1f}".format(h_score)) logger.close() + writer.close() def NearestNeighbor(known, centroids): - dist = torch.cdist(known, centroids, p=2) - knn = dist.topk(1, largest=False, dim=0) + dist = torch.cdist(known, centroids.to(torch.float32), p=2) + knn = dist.topk(1, largest=False, dim=1) # dim=1 to access dominant in each of these inlier vectors return knn.indices @@ -300,6 +322,8 @@ def train( num_classes=65, ): + global counter + batch_time = AverageMeter("Time", ":5.2f") data_time = AverageMeter("Data", ":5.2f") losses = AverageMeter("Loss", ":6.2f") @@ -348,12 +372,14 @@ def train( # y_s, y_t = y.chunk(2, dim=0) f_s, f_t = f.chunk(2, dim=0) + label_t = torch.empty_like(label_t) # shape [bs] f_t_numpy = f_t.clone().cpu().detach().numpy() y_pred = clf.fit_predict(f_t_numpy) - index = np.where(y_pred == -1) # for outliers - label_t[index] = num_classes # + 1 + index = np.where(y_pred == -1) # for n outliers, shape [n, ..] + label_t[index] = num_classes - 1 # 25 for all outliers !! + # [.., .., ..., 25, .., 25, .., 25, ..] - index1 = np.where(y_pred == 1) # for known classes + index1 = np.where(y_pred == 1) # for known classes [bs-n, ...] """ get centroids and find classes. @@ -361,9 +387,12 @@ def train( # bottle_s = bottle(f_s) # bottle_t = bottle(f_t) known = f_t[index1] - centroids = torch.from_numpy(centroids).to(device) + if not isinstance(centroids, torch.Tensor): + centroids = torch.from_numpy(centroids).to(device) known_idx = NearestNeighbor(known, centroids) - label_t[index1] = known_idx # asigning target domain classes on bsis of KNN + label_t[index1] = known_idx.squeeze() # asigning target domain classes on bsis of KNN + # values from 0 to 24 for all known classes + # # [5, 6, 0, 25, 24, 25, 3, 25, 6] f_s, f_t = gaa(f_s, f_t) y_s, y_t = netC(f_s), netC(f_t) @@ -388,10 +417,15 @@ def train( batch_time.update(time.time() - end) end = time.time() + counter = counter + 1 if args.wandb: wandb.log( {"accuracy_source": cls_acc, "accuracy_target": tgt_acc, "loss": loss} ) + if args.tensorboard: + writer.add_scalar('accuracy_source', cls_acc, counter) + writer.add_scalar('accuracy_target', cls_acc, counter) + writer.add_scalar('loss', loss, counter) if i % args.print_freq == 0: progress.display(i) @@ -444,7 +478,6 @@ def validate(val_loader: DataLoader, model: Classifier, prototypes, args: argpar if i % args.print_freq == 0: progress.display(i) - break matrix = confusion_matrix(all_label, all_output) @@ -455,7 +488,8 @@ def validate(val_loader: DataLoader, model: Classifier, prototypes, args: argpar all_acc = np.mean(accs).item() * 100 known = np.mean(accs[:-1]).item() * 100 unknown = accs[-1].item() * 100 - h_score = 2 * known * unknown / (known + unknown) + h_score = 2 * np.divide(np.multiply(known, unknown), np.add(known, unknown)) + # h_score = 2 * known * unknown / (known + unknown) if args.per_class_eval: print(confmat.format(classes)) print( @@ -476,13 +510,13 @@ def validate(val_loader: DataLoader, model: Classifier, prototypes, args: argpar parser.add_argument("-b", "--batch_size", type=int, default=32) parser.add_argument("--lr", "--learning_rate", default=0.002) parser.add_argument("--lr-gamma", default=0.001) - parser.add_argument("--bottleneck-dim", default=2048) + parser.add_argument("--bottleneck-dim", default=256) parser.add_argument("--feature-dim", default=256) parser.add_argument("--lr-decay", default=0.75) parser.add_argument("--momentum", default=0.9) parser.add_argument("--wd", "--weight-decay", default=1e-3) parser.add_argument("-j", "--workers", default=0) - parser.add_argument("--epochs", type=int, default=0) + parser.add_argument("--epochs", type=int, default=1000) parser.add_argument("--root", default="./data") parser.add_argument("-s", "--source", help="source domain(s)", default="Ar,Pr") parser.add_argument("-t", "--target", help="target domain(s)", default="Cl,Rw") @@ -490,18 +524,20 @@ def validate(val_loader: DataLoader, model: Classifier, prototypes, args: argpar parser.add_argument("-i", "--iters-per-epoch", default=500, type=int) parser.add_argument("-p", "--print-freq", default=100, type=int) parser.add_argument("--log", type=str, default="degaa") - parser.add_argument("--seed", default=None, type=int) + parser.add_argument("--seed", default=0, type=int) parser.add_argument("--phase", type=str, default="train") parser.add_argument("--threshold", default=0.8, type=float) parser.add_argument("--per-class-eval", action="store_true") + parser.add_argument("--tensorboard", action='store_true', help='enables tensorboard logging') parser.add_argument("--wandb", action="store_true", help="enables wandb logging") + parser.add_argument("--output_dir", default="./adapt/run1", help="enables wandb logging") parser.add_argument( "--net", default="resnet50", type=str, help="Select vit or rn50 based (default: vit)", ) - parser.add_argument("-n", "--num_classes", default=65) + # parser.add_argument("-n", "--num_classes", default=26) args = parser.parse_args() main(args) diff --git a/tsne_plts/tsne_ArPr.png b/tsne_plts/tsne_ArPr.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a662af8e68c75376875f9178f6fc8282bf642e GIT binary patch literal 112941 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%0D(7#r=xP@oWF0}~~p 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⁣1sXSt`a4h2Zl?GXEqDKZj$iBb4!FeO^ClX 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%0A`HMEM?aSZNEY3?V_Q*|&$-1jec3KIkgf!TK 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 literal 0 HcmV?d00001 diff --git a/tsne_plts/tsne_Art.pdf b/tsne_plts/tsne_Art.pdf deleted file mode 100644 index 2de4fdc7bcdb38712cf212577a00ae2afdfe1260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59365 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