def get_args(): parser = argparse.ArgumentParser() parser.add_argument('--dataset', type=str, default='MiniImageNet', choices=['MiniImageNet', 'TieredImagenet']) parser.add_argument('--backbone_class', type=str, default='Res12', choices=['ConvNet', 'ConvAttNet', 'Res12', 'Res18', 'ResNest12', 'SAN']) parser.add_argument('--query', type=int, default=15) parser.add_argument('--label-smoothing', type=float, default=0.0, help='label-smoothing (default eta: 0.0)') parser.add_argument('--mixup', type=float, default=0.0, help='mixup (default eta: 0.0)') parser.add_argument('--rand-aug', action='store_true', default=False, help='random augment') parser.add_argument('--augment', type=str, default='none') parser.add_argument('--batch_size', type=int, default=32) parser.add_argument('--max_epoch', type=int, default=2) parser.add_argument('--lr', type=float, default=0.0008) parser.add_argument('--lr_scheduler', type=str, default='cosine', help='learning rate scheduler (default: cos)') parser.add_argument('--step', type=str, default='[2,3,4,5]', help='Decrease learning rate at these epochs.') parser.add_argument('--gamma', type=float, default=0.1) parser.add_argument('--no-bn-wd', action='store_true', default=False, help='no bias decay') parser.add_argument('--warmup-epochs', type=int, default=0, help='number of warmup epochs (default: 0)') parser.add_argument('--weight-decay', type=float, default=1e-4, help='SGD weight decay (default: 1e-4)') parser.add_argument('--gpu', type=str, default='1') parser.add_argument('--resume', action='store_true', default=False) parser.add_argument('--finetune', action='store_true', default=False) parser.add_argument('--samples_per_class', type=int, default=50) parser.add_argument('--num_test_episodes', type=int, default=2000) parser.add_argument('--save_dir', type=str, default='./checkpoints') parser.add_argument('--init_weights', type=str, default='./checkpoints/best/Res12-pre.pth') parser.add_argument('--test_size', type=int, default=84) parser.add_argument('--eval_interval', type=int, default=1) parser.add_argument('--start', type=int, default=84) parser.add_argument('--end', type=int, default=168) args = parser.parse_args() args.orig_imsize = -1 pprint(vars(args)) set_gpu(args.gpu) return args
def main(): parser = argparse.ArgumentParser() parser.add_argument('--batch_size', type=int, default=100) parser.add_argument('--max_epoch', type=int, default=6) parser.add_argument('--leaky_ReLU', type=bool, default=False) parser.add_argument('--decay_eta', type=bool, default=False) parser.add_argument('--cyclical_eta', type=bool, default=True) parser.add_argument('--rho', type=float, default=0.8) parser.add_argument('--z_scores', type=bool, default=True) parser.add_argument('--Lambda', type=float, default=0.01) parser.add_argument('--dataset', type=str, default='CIFAR10', choices=['CIFAR10']) args = parser.parse_args() pprint(vars(args)) dataLoader = None if args.dataset == 'CIFAR10': dataLoader = CIFAR10DataLoader() assert dataLoader != None X_train, X_test, y_train, y_test = dataLoader.load() prep = Proprocess(X_train) X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.2, random_state=42) if args.z_scores: X_train = prep.z_score(X_train).T X_val = prep.z_score(X_val).T model = MyNet(args) model.fit(X_train, y_train, X_val, y_val) model.my_plot()
import numpy as np import torch import os import json from model.trainer.fsl_trainer import FSLTrainer from model.utils import ( pprint, set_gpu, get_command_line_parser, postprocess_args, ) # from ipdb import launch_ipdb_on_exception if __name__ == '__main__': parser = get_command_line_parser() args = postprocess_args(parser.parse_args()) # with launch_ipdb_on_exception(): pprint(vars(args)) print('Number device: ', torch.cuda.device_count()) set_gpu(args.gpu) trainer = FSLTrainer(args) # trainer.train() trainer.evaluate_test() trainer.final_record() print(args.save_path)
def get_args(): parser = argparse.ArgumentParser() parser.add_argument('--dataset', type=str, default='MiniImageNet', choices=['MiniImageNet', 'TieredImagenet']) parser.add_argument('--backbone_class', type=str, default='ConvNet', choices=[ 'ConvNet', 'ConvAttNet', 'Res12', 'Res18', 'ResNest12', 'SAN' ]) parser.add_argument('--query', type=int, default=15) parser.add_argument('--label-smoothing', type=float, default=0.0, help='label-smoothing (default eta: 0.0)') parser.add_argument('--mixup', type=float, default=0.0, help='mixup (default eta: 0.0)') parser.add_argument('--rand-aug', action='store_true', default=False, help='random augment') parser.add_argument('--augment', type=str, default='none') parser.add_argument('--batch_size', type=int, default=32) parser.add_argument('--max_epoch', type=int, default=500) parser.add_argument('--lr', type=float, default=0.1) parser.add_argument('--lr_scheduler', type=str, default='multistep', help='learning rate scheduler (default: cos)') parser.add_argument('--step', type=str, default='[2,3,4,5]', help='Decrease learning rate at these epochs.') parser.add_argument('--gamma', type=float, default=0.1) parser.add_argument('--no-bn-wd', action='store_true', default=False, help='no bias decay') parser.add_argument('--warmup-epochs', type=int, default=5, help='number of warmup epochs (default: 0)') parser.add_argument('--weight-decay', type=float, default=1e-4, help='SGD weight decay (default: 1e-4)') parser.add_argument('--gpu', type=str, default='0') parser.add_argument('--resume', action='store_true', default=False) parser.add_argument('--finetune', action='store_true', default=False) parser.add_argument('--samples_per_class', type=int, default=50) parser.add_argument('--save_dir', type=str, default='./checkpoints') args = parser.parse_args() args.orig_imsize = -1 pprint(vars(args)) set_gpu(args.gpu) save_path1 = '-'.join(['PreTrain', args.dataset, args.backbone_class]) save_path1 += 'LS{}MX{}'.format(args.label_smoothing, args.mixup) if args.lr_scheduler == 'cosine': save_path2 = 'Bsz{}Epoch-{}-Cos-lr{}decay{}'.format( args.batch_size, args.max_epoch, args.lr, args.weight_decay) elif args.lr_scheduler == 'step': save_path2 = 'Bsz{}Epoch-{}-Step-lr{}-{}-{}decay{}'.format( args.batch_size, args.max_epoch, args.lr, args.step, args.gamma, args.weight_decay) elif args.lr_scheduler == 'multistep': save_path2 = 'Bsz{}Epoch-{}-MultiStep-lr{}-{}-{}decay{}'.format( args.batch_size, args.max_epoch, args.lr, args.step, args.gamma, args.weight_decay) else: raise ValueError('No Such Schedule') if args.warmup_epochs > 0: save_path2 += 'Warmup{}'.format(args.warmup_epochs) if args.rand_aug: save_path2 += '-RandAug' if args.no_bn_wd: save_path2 += '-no-bn-wd' args.save_path = osp.join(save_path1, save_path2) if not os.path.exists(os.path.join(args.save_dir, save_path1)): os.mkdir(os.path.join(args.save_dir, save_path1)) return args