Spaces:
Running
Running
File size: 5,151 Bytes
499e141 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
from yacs.config import CfgNode as CN
_CN = CN()
############## Model ##############
_CN.MODEL = None # options: ['MicKey']
_CN.DEBUG = False
# MicKey configuration
_CN.MICKEY = CN()
_CN.MICKEY.DINOV2 = CN()
_CN.MICKEY.DINOV2.DOWN_FACTOR = None
_CN.MICKEY.DINOV2.CHANNEL_DIM = None
_CN.MICKEY.DINOV2.FLOAT16 = None
_CN.MICKEY.KP_HEADS = CN()
_CN.MICKEY.KP_HEADS.BLOCKS_DIM = None
_CN.MICKEY.KP_HEADS.BN = None
_CN.MICKEY.KP_HEADS.USE_SOFTMAX = None
_CN.MICKEY.KP_HEADS.USE_DEPTHSIGMOID = None
_CN.MICKEY.KP_HEADS.MAX_DEPTH = None
_CN.MICKEY.KP_HEADS.POS_ENCODING = None
_CN.MICKEY.DSC_HEAD = CN()
_CN.MICKEY.DSC_HEAD.LAST_DIM = None
_CN.MICKEY.DSC_HEAD.BLOCKS_DIM = None
_CN.MICKEY.DSC_HEAD.BN = None
_CN.MICKEY.DSC_HEAD.NORM_DSC = None
_CN.MICKEY.DSC_HEAD.POS_ENCODING = None
_CN.FEATURE_MATCHER = CN()
_CN.FEATURE_MATCHER.TYPE = None
_CN.FEATURE_MATCHER.DUAL_SOFTMAX = CN()
_CN.FEATURE_MATCHER.DUAL_SOFTMAX.TEMPERATURE = None
_CN.FEATURE_MATCHER.DUAL_SOFTMAX.USE_DUSTBIN = None
_CN.FEATURE_MATCHER.SINKHORN = CN()
_CN.FEATURE_MATCHER.SINKHORN.NUM_IT = None
_CN.FEATURE_MATCHER.SINKHORN.DUSTBIN_SCORE_INIT = None
_CN.FEATURE_MATCHER.USE_TRANSFORMER = None
_CN.FEATURE_MATCHER.TOP_KEYPOINTS = False
# LOSS_CLASS
_CN.LOSS_CLASS = CN()
_CN.LOSS_CLASS.LOSS_FUNCTION = None
_CN.LOSS_CLASS.SOFT_CLIPPING = None
_CN.LOSS_CLASS.POSE_ERR = CN()
_CN.LOSS_CLASS.POSE_ERR.MAX_LOSS_VALUE = None
_CN.LOSS_CLASS.POSE_ERR.MAX_LOSS_SOFTVALUE = None
_CN.LOSS_CLASS.VCRE = CN()
_CN.LOSS_CLASS.VCRE.MAX_LOSS_VALUE = None
_CN.LOSS_CLASS.VCRE.MAX_LOSS_SOFTVALUE = None
_CN.LOSS_CLASS.GENERATE_HYPOTHESES = CN()
_CN.LOSS_CLASS.GENERATE_HYPOTHESES.SCORE_TEMPERATURE = None
_CN.LOSS_CLASS.GENERATE_HYPOTHESES.IT_MATCHES = None
_CN.LOSS_CLASS.GENERATE_HYPOTHESES.IT_RANSAC = None
_CN.LOSS_CLASS.GENERATE_HYPOTHESES.INLIER_3D_TH = None
_CN.LOSS_CLASS.GENERATE_HYPOTHESES.INLIER_REF_TH = None
_CN.LOSS_CLASS.GENERATE_HYPOTHESES.NUM_REF_STEPS = None
_CN.LOSS_CLASS.GENERATE_HYPOTHESES.NUM_CORR_3d3d = None
_CN.LOSS_CLASS.CURRICULUM_LEARNING = CN()
_CN.LOSS_CLASS.CURRICULUM_LEARNING.TRAIN_CURRICULUM = None
_CN.LOSS_CLASS.CURRICULUM_LEARNING.TRAIN_WITH_TOPK = None
_CN.LOSS_CLASS.CURRICULUM_LEARNING.TOPK_INIT = None
_CN.LOSS_CLASS.CURRICULUM_LEARNING.TOPK = None
_CN.LOSS_CLASS.NULL_HYPOTHESIS = CN()
_CN.LOSS_CLASS.NULL_HYPOTHESIS.ADD_NULL_HYPOTHESIS = None
_CN.LOSS_CLASS.NULL_HYPOTHESIS.TH_OUTLIERS = None
_CN.LOSS_CLASS.SAMPLER = CN()
_CN.LOSS_CLASS.SAMPLER.NUM_SAMPLES_MATCHES = None
# Procrustes RANSAC options
_CN.PROCRUSTES = CN()
_CN.PROCRUSTES.IT_MATCHES = None
_CN.PROCRUSTES.IT_RANSAC = None
_CN.PROCRUSTES.NUM_SAMPLED_MATCHES = None
_CN.PROCRUSTES.NUM_CORR_3D_3D = None
_CN.PROCRUSTES.NUM_REFINEMENTS = None
_CN.PROCRUSTES.TH_INLIER = None
_CN.PROCRUSTES.TH_SOFT_INLIER = None
# Training Procrustes RANSAC options
_CN.PROCRUSTES_TRAINING = CN()
_CN.PROCRUSTES_TRAINING.MAX_CORR_DIST = None
_CN.PROCRUSTES_TRAINING.REFINE = False #refine pose with ICP
############## Dataset ##############
_CN.DATASET = CN()
# 1. data config
_CN.DATASET.DATA_SOURCE = None # options: ['ScanNet', '7Scenes', 'MapFree']
_CN.DATASET.SCENES = None # scenes to use (for 7Scenes/MapFree); should be a list []; If none, use all scenes.
_CN.DATASET.DATA_ROOT = None # path to dataset folder
_CN.DATASET.SEED = None # SEED for dataset generation
_CN.DATASET.NPZ_ROOT = None # path to npz files containing pairs of frame indices per sample
_CN.DATASET.MIN_OVERLAP_SCORE = None # discard data with overlap_score < min_overlap_score
_CN.DATASET.MAX_OVERLAP_SCORE = None # discard data with overlap_score > max_overlap_score
_CN.DATASET.CONSECUTIVE_PAIRS = None # options: [None, 'colorjitter']
_CN.DATASET.FRAME_RATE = None # options: [None, 'colorjitter']
_CN.DATASET.AUGMENTATION_TYPE = None # options: [None, 'colorjitter']
_CN.DATASET.BLACK_WHITE = False # if true, transform images to black & white
_CN.DATASET.PAIRS_TXT = CN() # Path to text file defining the train/val/test pairs (7Scenes)
_CN.DATASET.PAIRS_TXT.TRAIN = None
_CN.DATASET.PAIRS_TXT.VAL = None
_CN.DATASET.PAIRS_TXT.TEST = None
_CN.DATASET.PAIRS_TXT.ONE_NN = False # If true, keeps only reference image w/ highest similarity to each query
_CN.DATASET.HEIGHT = None
_CN.DATASET.WIDTH = None
############# TRAINING #############
_CN.TRAINING = CN()
# Data Loader settings
_CN.TRAINING.BATCH_SIZE = None
_CN.TRAINING.NUM_WORKERS = None
_CN.TRAINING.NUM_GPUS = None
_CN.TRAINING.SAMPLER = None # options: ['random', 'scene_balance']
_CN.TRAINING.N_SAMPLES_SCENE = None # if 'scene_balance' sampler, the number of samples to get per scene
_CN.TRAINING.SAMPLE_WITH_REPLACEMENT = None # if 'scene_balance' sampler, whether to sample with replacement
# Training settings
_CN.TRAINING.LR = None
_CN.TRAINING.LR_STEP_INTERVAL = None
_CN.TRAINING.LR_STEP_GAMMA = None # multiplicative factor of LR every LR_STEP_ITERATIONS
_CN.TRAINING.VAL_INTERVAL = None
_CN.TRAINING.VAL_BATCHES = None
_CN.TRAINING.LOG_INTERVAL = None
_CN.TRAINING.EPOCHS = None
_CN.TRAINING.GRAD_CLIP = 0. # Indicates the L2 norm at which to clip the gradient. Disabled if 0
cfg = _CN |