Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hackassin
GitHub Repository: hackassin/learnopencv
Path: blob/master/FaceMaskOverlay/lib/config/defaults.py
3443 views
1
# ------------------------------------------------------------------------------
2
# Copyright (c) Microsoft
3
# Licensed under the MIT License.
4
# Written by Bin Xiao ([email protected])
5
# Modified by Ke Sun ([email protected]), Tianheng Cheng([email protected])
6
# ------------------------------------------------------------------------------
7
8
from __future__ import absolute_import
9
from __future__ import division
10
from __future__ import print_function
11
12
from yacs.config import CfgNode as CN
13
14
15
_C = CN()
16
17
_C.OUTPUT_DIR = 'output'
18
_C.LOG_DIR = 'log'
19
_C.GPUS = (0, 1, 2, 4)
20
_C.WORKERS = 16
21
_C.PRINT_FREQ = 20
22
_C.AUTO_RESUME = False
23
_C.PIN_MEMORY = True
24
25
# Cudnn related params
26
_C.CUDNN = CN()
27
_C.CUDNN.BENCHMARK = True
28
_C.CUDNN.DETERMINISTIC = False
29
_C.CUDNN.ENABLED = True
30
31
# common params for NETWORK
32
_C.MODEL = CN()
33
_C.MODEL.NAME = 'hrnet'
34
_C.MODEL.INIT_WEIGHTS = True
35
_C.MODEL.PRETRAINED = ''
36
_C.MODEL.NUM_JOINTS = 17
37
_C.MODEL.TARGET_TYPE = 'Gaussian'
38
_C.MODEL.IMAGE_SIZE = [256, 256] # width * height
39
_C.MODEL.HEATMAP_SIZE = [64, 64] # width * height
40
_C.MODEL.MEAN = [0.485, 0.456, 0.406]
41
_C.MODEL.STD = [0.229, 0.224, 0.225]
42
_C.MODEL.SIGMA = 1.5
43
_C.MODEL.EXTRA = CN()
44
45
# High-Resoluion Net
46
_C.MODEL.EXTRA.PRETRAINED_LAYERS = ['*']
47
_C.MODEL.EXTRA.STEM_INPLANES = 64
48
_C.MODEL.EXTRA.FINAL_CONV_KERNEL = 1
49
_C.MODEL.EXTRA.WITH_HEAD = True
50
51
_C.MODEL.EXTRA.STAGE2 = CN()
52
_C.MODEL.EXTRA.STAGE2.NUM_MODULES = 1
53
_C.MODEL.EXTRA.STAGE2.NUM_BRANCHES = 2
54
_C.MODEL.EXTRA.STAGE2.NUM_BLOCKS = [4, 4]
55
_C.MODEL.EXTRA.STAGE2.NUM_CHANNELS = [18, 36]
56
_C.MODEL.EXTRA.STAGE2.BLOCK = 'BASIC'
57
_C.MODEL.EXTRA.STAGE2.FUSE_METHOD = 'SUM'
58
59
_C.MODEL.EXTRA.STAGE3 = CN()
60
_C.MODEL.EXTRA.STAGE3.NUM_MODULES = 1
61
_C.MODEL.EXTRA.STAGE3.NUM_BRANCHES = 3
62
_C.MODEL.EXTRA.STAGE3.NUM_BLOCKS = [4, 4, 4]
63
_C.MODEL.EXTRA.STAGE3.NUM_CHANNELS = [18, 36, 72]
64
_C.MODEL.EXTRA.STAGE3.BLOCK = 'BASIC'
65
_C.MODEL.EXTRA.STAGE3.FUSE_METHOD = 'SUM'
66
67
_C.MODEL.EXTRA.STAGE4 = CN()
68
_C.MODEL.EXTRA.STAGE4.NUM_MODULES = 1
69
_C.MODEL.EXTRA.STAGE4.NUM_BRANCHES = 4
70
_C.MODEL.EXTRA.STAGE4.NUM_BLOCKS = [4, 4, 4, 4]
71
_C.MODEL.EXTRA.STAGE4.NUM_CHANNELS = [18, 32, 72, 144]
72
_C.MODEL.EXTRA.STAGE4.BLOCK = 'BASIC'
73
_C.MODEL.EXTRA.STAGE4.FUSE_METHOD = 'SUM'
74
75
# DATASET related params
76
_C.DATASET = CN()
77
_C.DATASET.ROOT = ''
78
_C.DATASET.DATASET = 'AFLW'
79
_C.DATASET.TRAINSET = ''
80
_C.DATASET.TESTSET = ''
81
82
# training data augmentation
83
_C.DATASET.FLIP = True
84
_C.DATASET.SCALE_FACTOR = 0.25
85
_C.DATASET.ROT_FACTOR = 30
86
87
# train
88
_C.TRAIN = CN()
89
90
_C.TRAIN.LR_FACTOR = 0.1
91
_C.TRAIN.LR_STEP = [30, 50]
92
_C.TRAIN.LR = 0.0001
93
94
_C.TRAIN.OPTIMIZER = 'adam'
95
_C.TRAIN.MOMENTUM = 0.0
96
_C.TRAIN.WD = 0.0
97
_C.TRAIN.NESTEROV = False
98
99
_C.TRAIN.BEGIN_EPOCH = 0
100
_C.TRAIN.END_EPOCH = 60
101
102
_C.TRAIN.RESUME = True
103
_C.TRAIN.CHECKPOINT = ''
104
105
_C.TRAIN.BATCH_SIZE_PER_GPU = 16
106
_C.TRAIN.SHUFFLE = True
107
108
# testing
109
_C.TEST = CN()
110
111
# size of images for each device
112
_C.TEST.BATCH_SIZE_PER_GPU = 32
113
114
115
def update_config(cfg, args):
116
cfg.defrost()
117
cfg.merge_from_file(args.cfg)
118
cfg.freeze()
119
120
121
if __name__ == '__main__':
122
import sys
123
with open(sys.argv[1], 'w') as f:
124
print(_C, file=f)
125
126