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 = "cuda" _C.MODEL.NAME = 'resnet50' _C.MODEL.LAST_STRIDE = 1 _C.MODEL.PRETRAIN_PATH = '' # ----------------------------------------------------------------------------- # INPUT # ----------------------------------------------------------------------------- _C.INPUT = CN() # Size of the image during training _C.INPUT.SIZE_TRAIN = [256, 128] # Size of the image during test _C.INPUT.SIZE_TEST = [256, 128] # Random probability for image horizontal flip _C.INPUT.PROB = 0.5 # Values to be used for image normalization _C.INPUT.PIXEL_MEAN = [0.485, 0.456, 0.406] # Values to be used for image normalization _C.INPUT.PIXEL_STD = [0.229, 0.224, 0.225] # Value of padding size _C.INPUT.PADDING = 10 # ----------------------------------------------------------------------------- # Dataset # ----------------------------------------------------------------------------- _C.DATASETS = CN() # List of the dataset names for training, as present in paths_catalog.py _C.DATASETS.NAMES = ("cuhk03",) # ----------------------------------------------------------------------------- # DataLoader # ----------------------------------------------------------------------------- _C.DATALOADER = CN() # Number of data loading threads _C.DATALOADER.NUM_WORKERS = 8 # Sampler for data loading _C.DATALOADER.SAMPLER = 'softmax' # Number of instance for one batch _C.DATALOADER.NUM_INSTANCE = 16 # ---------------------------------------------------------------------------- # # Solver # ---------------------------------------------------------------------------- # _C.SOLVER = CN() _C.SOLVER.OPTIMIZER_NAME = "Adam" _C.SOLVER.MAX_EPOCHS = 50 _C.SOLVER.BASE_LR = 3e-4 _C.SOLVER.BIAS_LR_FACTOR = 2 _C.SOLVER.MOMENTUM = 0.9 _C.SOLVER.MARGIN = 0.3 _C.SOLVER.WEIGHT_DECAY = 0.0005 _C.SOLVER.WEIGHT_DECAY_BIAS = 0. _C.SOLVER.GAMMA = 0.1 _C.SOLVER.STEPS = (30, 55) _C.SOLVER.WARMUP_FACTOR = 1.0 / 3 _C.SOLVER.WARMUP_ITERS = 500 _C.SOLVER.WARMUP_METHOD = "linear" _C.SOLVER.CHECKPOINT_PERIOD = 50 _C.SOLVER.LOG_PERIOD = 100 _C.SOLVER.EVAL_PERIOD = 50 # 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.IMS_PER_BATCH = 64 # This is global, so if we have 8 GPUs and IMS_PER_BATCH = 16, each GPU will # see 2 images per batch _C.TEST = CN() _C.TEST.IMS_PER_BATCH = 128 _C.TEST.WEIGHT = "" # ---------------------------------------------------------------------------- # # Misc options # ---------------------------------------------------------------------------- # _C.OUTPUT_DIR = ""