#model_2_o = copy.deepcopy(model_2) #model_2_o.load_state_dict(state2_o) del tmp2 #del tmp2_o del modelfile2 #del modelfile2_o ds = False if params.method in [ "dampnet", "dampnet_full", "dampnet_full_class", "dampnet_full_sparse" ]: image_size = 224 datamgr2 = miniImageNet_few_shot.SimpleDataManager(image_size, batch_size=64) data_loader2 = datamgr2.get_data_loader(aug=False) for i, (x, y) in enumerate(data_loader2): if i % 10 == 0: print('{:d}/{:d}'.format(i, len(data_loader2))) x = x.cuda() x_var = Variable(x) if params.method != "all": model = model.cuda() feats = model(x_var).detach() ##detach compute graph else: model_3 = model_3.cuda() feats = model_3(x_var).detach() if i == 0: all_feats = torch.zeros(len(data_loader2), feats.shape[0],
return model if __name__ == '__main__': np.random.seed(12) params = parse_args('train') image_size = 224 optimization = 'Adam' if params.method in ['baseline']: if params.dataset == "miniImageNet": datamgr = miniImageNet_few_shot.SimpleDataManager( image_size, batch_size=16, imagejitter=params.imagejitter) base_loader = datamgr.get_data_loader(aug=params.train_aug, grayscale=params.grayscale) elif params.dataset == "CUB": # base_file = configs.data_dir['CUB'] + 'base.json' base_datamgr = SimpleDataManager(image_size, batch_size=16) base_loader = base_datamgr.get_data_loader(base_file, aug=params.train_aug) elif params.dataset == "cifar100": base_datamgr = cifar_few_shot.SimpleDataManager("CIFAR100", image_size, batch_size=16) base_loader = base_datamgr.get_data_loader("base", aug=True)