|
from yacs.config import CfgNode as CN |
|
|
|
|
|
def lower_config(yacs_cfg): |
|
if not isinstance(yacs_cfg, CN): |
|
return yacs_cfg |
|
return {k.lower(): lower_config(v) for k, v in yacs_cfg.items()} |
|
|
|
|
|
_CN = CN() |
|
_CN.BACKBONE_TYPE = 'ResNetFPN' |
|
_CN.RESOLUTION = (8, 2) |
|
_CN.FINE_WINDOW_SIZE = 5 |
|
_CN.FINE_CONCAT_COARSE_FEAT = True |
|
|
|
|
|
_CN.RESNETFPN = CN() |
|
_CN.RESNETFPN.INITIAL_DIM = 128 |
|
_CN.RESNETFPN.BLOCK_DIMS = [128, 196, 256] |
|
|
|
|
|
_CN.COARSE = CN() |
|
_CN.COARSE.D_MODEL = 256 |
|
_CN.COARSE.D_FFN = 256 |
|
_CN.COARSE.NHEAD = 8 |
|
_CN.COARSE.LAYER_NAMES = ['self', 'cross'] * 4 |
|
_CN.COARSE.ATTENTION = 'linear' |
|
_CN.COARSE.TEMP_BUG_FIX = False |
|
|
|
|
|
_CN.MATCH_COARSE = CN() |
|
_CN.MATCH_COARSE.THR = 0.2 |
|
_CN.MATCH_COARSE.BORDER_RM = 2 |
|
_CN.MATCH_COARSE.MATCH_TYPE = 'dual_softmax' |
|
_CN.MATCH_COARSE.DSMAX_TEMPERATURE = 0.1 |
|
_CN.MATCH_COARSE.SKH_ITERS = 3 |
|
_CN.MATCH_COARSE.SKH_INIT_BIN_SCORE = 1.0 |
|
_CN.MATCH_COARSE.SKH_PREFILTER = True |
|
_CN.MATCH_COARSE.TRAIN_COARSE_PERCENT = 0.4 |
|
_CN.MATCH_COARSE.TRAIN_PAD_NUM_GT_MIN = 200 |
|
|
|
|
|
_CN.FINE = CN() |
|
_CN.FINE.D_MODEL = 128 |
|
_CN.FINE.D_FFN = 128 |
|
_CN.FINE.NHEAD = 8 |
|
_CN.FINE.LAYER_NAMES = ['self', 'cross'] * 1 |
|
_CN.FINE.ATTENTION = 'linear' |
|
|
|
default_cfg = lower_config(_CN) |
|
|