blob: 931ad16f14eb77fb3d9623dbb51c60d0a26de855 [file] [log] [blame]
import os
from utils import DotDict, namedtuple_with_defaults, zip_namedtuple, config_as_dict
RandCropper = namedtuple_with_defaults('RandCropper',
'min_crop_scales, max_crop_scales, \
min_crop_aspect_ratios, max_crop_aspect_ratios, \
min_crop_overlaps, max_crop_overlaps, \
min_crop_sample_coverages, max_crop_sample_coverages, \
min_crop_object_coverages, max_crop_object_coverages, \
max_crop_trials',
[0.0, 1.0,
0.5, 2.0,
0.0, 1.0,
0.0, 1.0,
0.0, 1.0,
25])
RandPadder = namedtuple_with_defaults('RandPadder',
'rand_pad_prob, max_pad_scale, fill_value',
[0.0, 1.0, 127])
ColorJitter = namedtuple_with_defaults('ColorJitter',
'random_hue_prob, max_random_hue, \
random_saturation_prob, max_random_saturation, \
random_illumination_prob, max_random_illumination, \
random_contrast_prob, max_random_contrast',
[0.0, 18,
0.0, 32,
0.0, 32,
0.0, 0.5])
cfg = DotDict()
cfg.ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
# training configs
cfg.train = DotDict()
# random cropping samplers
cfg.train.rand_crop_samplers = [
RandCropper(min_crop_scales=0.3, min_crop_overlaps=0.1),
RandCropper(min_crop_scales=0.3, min_crop_overlaps=0.3),
RandCropper(min_crop_scales=0.3, min_crop_overlaps=0.5),
RandCropper(min_crop_scales=0.3, min_crop_overlaps=0.7),
RandCropper(min_crop_scales=0.3, min_crop_overlaps=0.9),]
cfg.train.crop_emit_mode = 'center'
# cfg.train.emit_overlap_thresh = 0.4
# random padding
cfg.train.rand_pad = RandPadder(rand_pad_prob=0.5, max_pad_scale=4.0)
# random color jitter
cfg.train.color_jitter = ColorJitter(random_hue_prob=0.5, random_saturation_prob=0.5,
random_illumination_prob=0.5, random_contrast_prob=0.5)
cfg.train.inter_method = 10 # random interpolation
cfg.train.rand_mirror_prob = 0.5
cfg.train.shuffle = True
cfg.train.seed = 233
cfg.train.preprocess_threads = 6
cfg.train = config_as_dict(cfg.train) # convert to normal dict
# validation
cfg.valid = DotDict()
cfg.valid.rand_crop_samplers = []
cfg.valid.rand_pad = RandPadder()
cfg.valid.color_jitter = ColorJitter()
cfg.valid.rand_mirror_prob = 0
cfg.valid.shuffle = False
cfg.valid.seed = 0
cfg.valid = config_as_dict(cfg.valid) # convert to normal dict