import os, sys, time, random, argparse from .share_args import add_shared_args def obtain_RandomSearch_args(): parser = argparse.ArgumentParser(description='Train a classification model on typical image classification datasets.', formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('--resume' , type=str, help='Resume path.') parser.add_argument('--init_model' , type=str, help='The initialization model path.') parser.add_argument('--expect_flop', type=float, help='The expected flop keep ratio.') parser.add_argument('--arch_nums' , type=int, help='The maximum number of running random arch generating..') parser.add_argument('--model_config', type=str, help='The path to the model configuration') parser.add_argument('--optim_config', type=str, help='The path to the optimizer configuration') parser.add_argument('--random_mode', type=str, choices=['random', 'fix'], help='The path to the optimizer configuration') parser.add_argument('--procedure' , type=str, help='The procedure basic prefix.') add_shared_args( parser ) # Optimization options parser.add_argument('--batch_size', type=int, default=2, help='Batch size for training.') args = parser.parse_args() if args.rand_seed is None or args.rand_seed < 0: args.rand_seed = random.randint(1, 100000) assert args.save_dir is not None, 'save-path argument can not be None' #assert args.flop_ratio_min < args.flop_ratio_max, 'flop-ratio {:} vs {:}'.format(args.flop_ratio_min, args.flop_ratio_max) return args