from tools.collections import AttrDict __C = AttrDict() cfg = __C __C.net_type = 'mbv2' # mbv2 / res __C.net_config = """[[16, 16], 'mbconv_k3_t1', [], 0, 1]| [[16, 24], 'mbconv_k3_t6', [], 0, 2]| [[24, 48], 'mbconv_k7_t6', ['mbconv_k3_t3'], 1, 2]| [[48, 72], 'mbconv_k5_t6', ['mbconv_k3_t6', 'mbconv_k3_t3'], 2, 2]| [[72, 128], 'mbconv_k3_t6', ['mbconv_k3_t3', 'mbconv_k3_t3'], 2, 1]| [[128, 160], 'mbconv_k3_t6', ['mbconv_k7_t3', 'mbconv_k5_t6', 'mbconv_k7_t3'], 3, 2]| [[160, 176], 'mbconv_k3_t3', ['mbconv_k3_t6', 'mbconv_k3_t6', 'mbconv_k3_t6'], 3, 1]| [[176, 384], 'mbconv_k7_t6', [], 0, 1]| [[384, 1984], 'conv1_1']""" __C.train_params = AttrDict() __C.train_params.epochs = 240 __C.train_params.use_seed = True __C.train_params.seed = 0 __C.optim = AttrDict() __C.optim.init_lr = 0.5 __C.optim.min_lr = 1e-5 __C.optim.lr_schedule = 'cosine' # cosine poly __C.optim.momentum = 0.9 __C.optim.weight_decay = 4e-5 __C.optim.use_grad_clip = False __C.optim.grad_clip = 10 __C.optim.label_smooth = True
from tools.collections import AttrDict __C = AttrDict() cfg = __C __C.net_type = 'resnet' # choose resnet or mobilenet __C.train_params = AttrDict() __C.train_params.epochs = 100 __C.train_params.use_seed = False __C.train_params.seed = 0 __C.train_params.print_freq = 50 __C.optim = AttrDict() __C.optim.init_lr = 0.1 __C.optim.min_lr = 0 __C.optim.momentum = 0.9 __C.optim.weight_decay = 1e-4 __C.optim.use_grad_clip = False __C.optim.grad_clip = 10 __C.optim.label_smooth = False __C.optim.smooth_alpha = 0.1 __C.optim.if_resume = False __C.optim.resume_path = '' __C.data = AttrDict() __C.data.data_path = 'PATH/to/DataSet' __C.data.num_workers = 32 __C.data.batch_size = 256