defaults.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. """
  2. @Time : 2021-01-21 10:37:36
  3. @File : defaults.py
  4. @Author : Abtion
  5. @Email : abtion{at}outlook.com
  6. """
  7. from yacs.config import CfgNode as CN
  8. # -----------------------------------------------------------------------------
  9. # Convention about Training / Test specific parameters
  10. # -----------------------------------------------------------------------------
  11. # Whenever an argument can be either used for training or for testing, the
  12. # corresponding name will be post-fixed by a _TRAIN for a training parameter,
  13. # or _TEST for a test-specific parameter.
  14. # For example, the number of images during training will be
  15. # IMAGES_PER_BATCH_TRAIN, while the number of images for testing will be
  16. # IMAGES_PER_BATCH_TEST
  17. # -----------------------------------------------------------------------------
  18. # Config definition
  19. # -----------------------------------------------------------------------------
  20. _C = CN()
  21. _C.MODEL = CN()
  22. _C.MODEL.DEVICE = "cpu"
  23. _C.MODEL.GPU_IDS = [0]
  24. _C.MODEL.NUM_CLASSES = 10
  25. _C.MODEL.BERT_CKPT = 'bert-base-chinese'
  26. _C.MODEL.NAME = ''
  27. _C.MODEL.WEIGHTS = ''
  28. _C.MODEL.HYPER_PARAMS = []
  29. # -----------------------------------------------------------------------------
  30. # INPUT
  31. # -----------------------------------------------------------------------------
  32. _C.INPUT = CN()
  33. # Max length of input text.
  34. _C.INPUT.MAX_LEN = 512
  35. # -----------------------------------------------------------------------------
  36. # Dataset
  37. # -----------------------------------------------------------------------------
  38. _C.DATASETS = CN()
  39. # List of the dataset names for training, as present in paths_catalog.py
  40. _C.DATASETS.TRAIN = ""
  41. # List of the dataset names for validation, as present in paths_catalog.py
  42. _C.DATASETS.VALID = ""
  43. # List of the dataset names for testing, as present in paths_catalog.py
  44. _C.DATASETS.TEST = ""
  45. # -----------------------------------------------------------------------------
  46. # DataLoader
  47. # -----------------------------------------------------------------------------
  48. _C.DATALOADER = CN()
  49. # Number of data loading threads
  50. _C.DATALOADER.NUM_WORKERS = 4
  51. # ---------------------------------------------------------------------------- #
  52. # Solver
  53. # ---------------------------------------------------------------------------- #
  54. _C.SOLVER = CN()
  55. _C.SOLVER.OPTIMIZER_NAME = "AdamW"
  56. _C.SOLVER.MAX_EPOCHS = 50
  57. _C.SOLVER.BASE_LR = 0.001
  58. _C.SOLVER.BIAS_LR_FACTOR = 2
  59. _C.SOLVER.MOMENTUM = 0.9
  60. _C.SOLVER.WEIGHT_DECAY = 0.0005
  61. _C.SOLVER.WEIGHT_DECAY_BIAS = 0
  62. _C.SOLVER.GAMMA = 0.9999
  63. _C.SOLVER.STEPS = (10,)
  64. _C.SOLVER.SCHED = "WarmupExponentialLR"
  65. _C.SOLVER.WARMUP_FACTOR = 0.01
  66. _C.SOLVER.WARMUP_ITERS = 2
  67. _C.SOLVER.WARMUP_EPOCHS = 1024
  68. _C.SOLVER.WARMUP_METHOD = "linear"
  69. _C.SOLVER.DELAY_ITERS = 0
  70. _C.SOLVER.ETA_MIN_LR = 3e-7
  71. _C.SOLVER.MAX_ITER = 10
  72. _C.SOLVER.INTERVAL = 'step'
  73. _C.SOLVER.CHECKPOINT_PERIOD = 10
  74. _C.SOLVER.LOG_PERIOD = 100
  75. _C.SOLVER.ACCUMULATE_GRAD_BATCHES = 1
  76. # Number of images per batch
  77. # This is global, so if we have 8 GPUs and IMS_PER_BATCH = 16, each GPU will
  78. # see 2 images per batch
  79. _C.SOLVER.BATCH_SIZE = 16
  80. _C.TEST = CN()
  81. _C.TEST.BATCH_SIZE = 8
  82. _C.TEST.CKPT_FN = ""
  83. # ---------------------------------------------------------------------------- #
  84. # Task specific
  85. # ---------------------------------------------------------------------------- #
  86. _C.TASK = CN()
  87. _C.TASK.NAME = "CSC"
  88. # ---------------------------------------------------------------------------- #
  89. # Misc options
  90. # ---------------------------------------------------------------------------- #
  91. _C.OUTPUT_DIR = ""
  92. _C.MODE = ['train', 'test']