You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

config.py 3.5 kB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # Copyright (c) Microsoft Corporation.
  2. # Licensed under the MIT License.
  3. # Written by Hao Du and Houwen Peng
  4. # email: haodu8-c@my.cityu.edu.hk and houwen.peng@microsoft.com
  5. from __future__ import absolute_import
  6. from __future__ import division
  7. from __future__ import print_function
  8. from __future__ import unicode_literals
  9. from yacs.config import CfgNode as CN
  10. DEFAULT_CROP_PCT = 0.875
  11. IMAGENET_DEFAULT_MEAN = (0.485, 0.456, 0.406)
  12. IMAGENET_DEFAULT_STD = (0.229, 0.224, 0.225)
  13. __C = CN()
  14. cfg = __C
  15. __C.AUTO_RESUME = True
  16. __C.DATA_DIR = './data/imagenet'
  17. __C.MODEL = 'cream'
  18. __C.RESUME_PATH = './experiments/ckps/resume.pth.tar'
  19. __C.SAVE_PATH = './experiments/ckps/'
  20. __C.SEED = 42
  21. __C.LOG_INTERVAL = 50
  22. __C.RECOVERY_INTERVAL = 0
  23. __C.WORKERS = 4
  24. __C.NUM_GPU = 1
  25. __C.SAVE_IMAGES = False
  26. __C.AMP = False
  27. __C.ACC_GAP = 5
  28. __C.OUTPUT = 'output/path/'
  29. __C.EVAL_METRICS = 'prec1'
  30. __C.TTA = 0 # Test or inference time augmentation
  31. __C.LOCAL_RANK = 0
  32. __C.VERBOSE = False
  33. # dataset configs
  34. __C.DATASET = CN()
  35. __C.DATASET.NUM_CLASSES = 1000
  36. __C.DATASET.IMAGE_SIZE = 224 # image patch size
  37. __C.DATASET.INTERPOLATION = 'bilinear' # Image resize interpolation type
  38. __C.DATASET.BATCH_SIZE = 32 # batch size
  39. __C.DATASET.NO_PREFECHTER = False
  40. __C.DATASET.PIN_MEM = True
  41. __C.DATASET.VAL_BATCH_MUL = 4
  42. # model configs
  43. __C.NET = CN()
  44. __C.NET.SELECTION = 14
  45. __C.NET.GP = 'avg' # type of global pool ["avg", "max", "avgmax", "avgmaxc"]
  46. __C.NET.DROPOUT_RATE = 0.0 # dropout rate
  47. __C.NET.INPUT_ARCH = [[0], [3], [3, 3], [3, 1, 3], [3, 3, 3, 3], [3, 3, 3], [0]]
  48. # model ema parameters
  49. __C.NET.EMA = CN()
  50. __C.NET.EMA.USE = True
  51. __C.NET.EMA.FORCE_CPU = False # force model ema to be tracked on CPU
  52. __C.NET.EMA.DECAY = 0.9998
  53. # optimizer configs
  54. __C.OPT = 'sgd'
  55. __C.OPT_EPS = 1e-2
  56. __C.MOMENTUM = 0.9
  57. __C.WEIGHT_DECAY = 1e-4
  58. __C.OPTIMIZER = CN()
  59. __C.OPTIMIZER.NAME = 'sgd'
  60. __C.OPTIMIZER.MOMENTUM = 0.9
  61. __C.OPTIMIZER.WEIGHT_DECAY = 1e-3
  62. # scheduler configs
  63. __C.SCHED = 'sgd'
  64. __C.LR_NOISE = None
  65. __C.LR_NOISE_PCT = 0.67
  66. __C.LR_NOISE_STD = 1.0
  67. __C.WARMUP_LR = 1e-4
  68. __C.MIN_LR = 1e-5
  69. __C.EPOCHS = 200
  70. __C.START_EPOCH = None
  71. __C.DECAY_EPOCHS = 30.0
  72. __C.WARMUP_EPOCHS = 3
  73. __C.COOLDOWN_EPOCHS = 10
  74. __C.PATIENCE_EPOCHS = 10
  75. __C.DECAY_RATE = 0.1
  76. __C.LR = 1e-2
  77. __C.META_LR = 1e-4
  78. # data augmentation parameters
  79. __C.AUGMENTATION = CN()
  80. __C.AUGMENTATION.AA = 'rand-m9-mstd0.5'
  81. __C.AUGMENTATION.COLOR_JITTER = 0.4
  82. __C.AUGMENTATION.RE_PROB = 0.2 # random erase prob
  83. __C.AUGMENTATION.RE_MODE = 'pixel' # random erase mode
  84. __C.AUGMENTATION.MIXUP = 0.0 # mixup alpha
  85. __C.AUGMENTATION.MIXUP_OFF_EPOCH = 0 # turn off mixup after this epoch
  86. __C.AUGMENTATION.SMOOTHING = 0.1 # label smoothing parameters
  87. # batch norm parameters (only works with gen_efficientnet based models
  88. # currently)
  89. __C.BATCHNORM = CN()
  90. __C.BATCHNORM.SYNC_BN = False
  91. __C.BATCHNORM.BN_TF = False
  92. __C.BATCHNORM.BN_MOMENTUM = 0.1 # batchnorm momentum override
  93. __C.BATCHNORM.BN_EPS = 1e-5 # batchnorm eps override
  94. # supernet training hyperparameters
  95. __C.SUPERNET = CN()
  96. __C.SUPERNET.UPDATE_ITER = 1300
  97. __C.SUPERNET.SLICE = 4
  98. __C.SUPERNET.POOL_SIZE = 10
  99. __C.SUPERNET.RESUNIT = False
  100. __C.SUPERNET.DIL_CONV = False
  101. __C.SUPERNET.UPDATE_2ND = True
  102. __C.SUPERNET.FLOPS_MAXIMUM = 600
  103. __C.SUPERNET.FLOPS_MINIMUM = 0
  104. __C.SUPERNET.PICK_METHOD = 'meta' # pick teacher method
  105. __C.SUPERNET.META_STA_EPOCH = 20 # start using meta picking method
  106. __C.SUPERNET.HOW_TO_PROB = 'pre_prob' # sample method
  107. __C.SUPERNET.PRE_PROB = (0.05, 0.2, 0.05, 0.5, 0.05,
  108. 0.15) # sample prob in 'pre_prob'

一站式算法开发平台、高性能分布式深度学习框架、先进算法模型库、视觉模型炼知平台、数据可视化分析平台等一系列平台及工具,在模型高效分布式训练、数据处理和可视分析、模型炼知和轻量化等技术上形成独特优势,目前已在产学研等各领域近千家单位及个人提供AI应用赋能