""" @Time : 2021-01-21 10:37:36 @File : defaults.py @Author : Abtion @Email : abtion{at}outlook.com """ from yacs.config import CfgNode as CN # ----------------------------------------------------------------------------- # Convention about Training / Test specific parameters # ----------------------------------------------------------------------------- # Whenever an argument can be either used for training or for testing, the # corresponding name will be post-fixed by a _TRAIN for a training parameter, # or _TEST for a test-specific parameter. # For example, the number of images during training will be # IMAGES_PER_BATCH_TRAIN, while the number of images for testing will be # IMAGES_PER_BATCH_TEST # ----------------------------------------------------------------------------- # Config definition # ----------------------------------------------------------------------------- _C = CN() _C.MODEL = CN() _C.MODEL.DEVICE = "cpu" _C.MODEL.GPU_IDS = [0] _C.MODEL.NUM_CLASSES = 10 _C.MODEL.BERT_CKPT = 'bert-base-chinese' _C.MODEL.NAME = '' _C.MODEL.WEIGHTS = '' _C.MODEL.HYPER_PARAMS = [] # ----------------------------------------------------------------------------- # INPUT # ----------------------------------------------------------------------------- _C.INPUT = CN() # Max length of input text. _C.INPUT.MAX_LEN = 512 # ----------------------------------------------------------------------------- # Dataset # ----------------------------------------------------------------------------- _C.DATASETS = CN() # List of the dataset names for training, as present in paths_catalog.py _C.DATASETS.TRAIN = "" # List of the dataset names for validation, as present in paths_catalog.py _C.DATASETS.VALID = "" # List of the dataset names for testing, as present in paths_catalog.py _C.DATASETS.TEST = "" # ----------------------------------------------------------------------------- # DataLoader # ----------------------------------------------------------------------------- _C.DATALOADER = CN() # Number of data loading threads _C.DATALOADER.NUM_WORKERS = 4 # ---------------------------------------------------------------------------- # # Solver # ---------------------------------------------------------------------------- # _C.SOLVER = CN() _C.SOLVER.OPTIMIZER_NAME = "AdamW" _C.SOLVER.MAX_EPOCHS = 50 _C.SOLVER.BASE_LR = 0.001 _C.SOLVER.BIAS_LR_FACTOR = 2 _C.SOLVER.MOMENTUM = 0.9 _C.SOLVER.WEIGHT_DECAY = 0.0005 _C.SOLVER.WEIGHT_DECAY_BIAS = 0 _C.SOLVER.GAMMA = 0.9999 _C.SOLVER.STEPS = (10,) _C.SOLVER.SCHED = "WarmupExponentialLR" _C.SOLVER.WARMUP_FACTOR = 0.01 _C.SOLVER.WARMUP_ITERS = 2 _C.SOLVER.WARMUP_EPOCHS = 1024 _C.SOLVER.WARMUP_METHOD = "linear" _C.SOLVER.DELAY_ITERS = 0 _C.SOLVER.ETA_MIN_LR = 3e-7 _C.SOLVER.MAX_ITER = 10 _C.SOLVER.INTERVAL = 'step' _C.SOLVER.CHECKPOINT_PERIOD = 10 _C.SOLVER.LOG_PERIOD = 100 _C.SOLVER.ACCUMULATE_GRAD_BATCHES = 1 # Number of images per batch # This is global, so if we have 8 GPUs and IMS_PER_BATCH = 16, each GPU will # see 2 images per batch _C.SOLVER.BATCH_SIZE = 16 _C.TEST = CN() _C.TEST.BATCH_SIZE = 8 _C.TEST.CKPT_FN = "" # ---------------------------------------------------------------------------- # # Task specific # ---------------------------------------------------------------------------- # _C.TASK = CN() _C.TASK.NAME = "CSC" # ---------------------------------------------------------------------------- # # Misc options # ---------------------------------------------------------------------------- # _C.OUTPUT_DIR = "" _C.MODE = ['train', 'test']