print(checkpoint_dir) if params.save_iter != -1: modelfile = get_assigned_file(checkpoint_dir,params.save_iter) else: modelfile = get_best_file(checkpoint_dir) if params.save_iter != -1: outfile = os.path.join( checkpoint_dir.replace("checkpoints","features"), split + "_" + str(params.save_iter)+ ".hdf5") else: outfile = os.path.join( checkpoint_dir.replace("checkpoints","features"), split + ".hdf5") datamgr = SimpleDataManager(image_size, batch_size = 3) if params.dct_status: data_loader = datamgr.get_data_loader_dct(loadfile, aug = False, filter_size = params.filter_size) else: data_loader = datamgr.get_data_loader(loadfile, aug = False) # if params.method =='baseline++': # model = BaselineTrain( model_dict[params.model], params.num_classes, loss_type = 'dist') if params.method == 'S2M2_R': if params.dataset == 'cifar': model = wrn_mixup_model.wrn28_10(num_classes = params.num_classes, dct_status = params.dct_status) else: #model = wrn_mixup_model.wrn28_10(200) model = wrn_mixup_model.wrn28_10(num_classes = 200, dct_status = params.dct_status) else: model = model_dict[params.model]()
if params.model == 'WideResNet28_10': image_size = 84 params.num_classes = 200 else: image_size = 224 params.num_classes = 200 print(params.checkpoint_dir) start_epoch = params.start_epoch stop_epoch = params.stop_epoch if params.method in ['baseline++', 'S2M2_R', 'rotation']: if params.dct_status: base_datamgr = SimpleDataManager(image_size_dct, batch_size=params.batch_size) base_loader = base_datamgr.get_data_loader_dct( base_file, aug=params.train_aug, filter_size=params.filter_size) base_datamgr_test = SimpleDataManager( image_size_dct, batch_size=params.test_batch_size) base_loader_test = base_datamgr_test.get_data_loader_dct( base_file, aug=False, filter_size=params.filter_size) test_few_shot_params = dict(n_way=params.train_n_way, n_support=params.n_shot) val_datamgr = SetDataManager(image_size_dct, n_query=15, **test_few_shot_params) val_loader = val_datamgr.get_data_loader_dct( val_file, aug=False, filter_size=params.filter_size) else: base_datamgr = SimpleDataManager(image_size, batch_size=params.batch_size)
loadfile = configs.data_dir[params.dataset] + 'novel.json' if params.dct_status: image_size = 56 else: if params.dataset == 'cifar': image_size = 32 params.num_classes = 64 else: image_size = 84 #if params.dataset == 'miniImagenet' or params.dataset == 'CUB': datamgr = SimpleDataManager(image_size, batch_size=16) if params.dct_status: novel_loader = datamgr.get_data_loader_dct(loadfile, aug=False) else: novel_loader = datamgr.get_data_loader(loadfile, aug=False) params.channels = 3 checkpoint_dir = '%s/checkpoints/%s/%s_%s_%sway_%sshot' % ( configs.save_dir, params.dataset, params.model, params.method, params.test_n_way, params.n_shot) if params.train_aug: checkpoint_dir += '_aug' if params.dct_status: checkpoint_dir += '_dct' modelfile = get_best_file(checkpoint_dir) print(checkpoint_dir)