|
from yacs.config import CfgNode |
|
from yacs.config import CfgNode as CN |
|
from yacs_stubgen import build_pyi |
|
|
|
|
|
|
|
_C = CN() |
|
|
|
|
|
_C.DESCRIPTION = "Default config" |
|
|
|
_C.EXPERIMENTAL = CN() |
|
|
|
|
|
_C.EXPERIMENTAL.SHUFFLE_IMAGES = False |
|
_C.EXPERIMENTAL.BLANK_IMAGE = False |
|
_C.EXPERIMENTAL.T_IMAGE = 0 |
|
_C.EXPERIMENTAL.USE_RETINA_MAPPER = True |
|
_C.EXPERIMENTAL.USE_LAYER_SELECTOR = True |
|
_C.EXPERIMENTAL.USE_BHV = True |
|
_C.EXPERIMENTAL.USE_BHV_PASSTHROUGH = True |
|
_C.EXPERIMENTAL.BEHV_ONLY = False |
|
_C.EXPERIMENTAL.BEHV_SELECTION = [-1] |
|
_C.EXPERIMENTAL.BACKBONE_NOGRAD = False |
|
_C.EXPERIMENTAL.STRAIGHT_FORWARD = False |
|
_C.EXPERIMENTAL.STRAIGHT_FORWARD_BUT_KEEP_BACKBONE_GRAD = False |
|
_C.EXPERIMENTAL.ANOTHER_SPLIT = False |
|
_C.EXPERIMENTAL.SHUFFLE_VAL = True |
|
_C.EXPERIMENTAL.NO_SPLIT = False |
|
_C.EXPERIMENTAL.USE_DEV_MODEL = False |
|
_C.EXPERIMENTAL.USE_FEAT = False |
|
_C.EXPERIMENTAL.CENTER_FRAME = -1 |
|
_C.EXPERIMENTAL.REPLACE_BLANK_WITH_RANDOM = False |
|
_C.EXPERIMENTAL.REPLACE_NONBLANK_WITH_RANDOM = False |
|
_C.EXPERIMENTAL.USE_PREV_FRAME = True |
|
_C.EXPERIMENTAL.USE_PREV_BEHV = True |
|
_C.EXPERIMENTAL.USE_CURRENT_FRAME = True |
|
_C.EXPERIMENTAL.USE_CURRENT_BEHV = True |
|
_C.EXPERIMENTAL.USE_FTR_FRAME = True |
|
_C.EXPERIMENTAL.USE_FTR_BEHV = True |
|
_C.EXPERIMENTAL.USE_COORDS = True |
|
_C.EXPERIMENTAL.MAX_DATASET_SIZE = -1 |
|
|
|
_C.DATAMODULE = CN() |
|
_C.DATAMODULE.BATCH_SIZE = 32 |
|
_C.DATAMODULE.NUM_WORKERS = 8 |
|
_C.DATAMODULE.PIN_MEMORY = True |
|
|
|
_C.DATAMODULE.FEATURE_EXTRACTOR_MODE = False |
|
|
|
_C.DATASET = CN() |
|
_C.DATASET.IMAGE_RESOLUTION = [224, 224] |
|
_C.DATASET.N_PREV_FRAMES = 32 |
|
_C.DATASET.N_FTR_FRAMES = 32 |
|
_C.DATASET.CACHE_DIR = "/data/cache" |
|
_C.DATASET.SUBJECT_LIST = ["subj01"] |
|
_C.DATASET.ROIS = ["all"] |
|
_C.DATASET.FMRI_SPACE = "fsaverage" |
|
_C.DATASET.FILTER_BY_SESSION = [-1] |
|
|
|
_C.DATASET.ROOT = "/data/ALG23" |
|
_C.DATASET.DARK_POSTFIX = "" |
|
|
|
_C.POSITION_ENCODING = CN() |
|
_C.POSITION_ENCODING.IN_DIM = 3 |
|
_C.POSITION_ENCODING.MAX_STEPS = 1000 |
|
_C.POSITION_ENCODING.FEATURES = 32 |
|
_C.POSITION_ENCODING.PERIODS = 10000 |
|
|
|
|
|
_C.MODEL = CN() |
|
|
|
_C.MODEL.WIDTH_RATIO = 1.0 |
|
|
|
_C.MODEL.BACKBONE = CN() |
|
_C.MODEL.BACKBONE.NAME = "dinov2_vit_l" |
|
_C.MODEL.BACKBONE.CACHE_DIR = "/data/cache" |
|
_C.MODEL.BACKBONE.LAYERS = [5, 11, 17, 23] |
|
_C.MODEL.BACKBONE.FEATURE_DIMS = [1024, 1024, 1024, 1024] |
|
_C.MODEL.BACKBONE.CLS_DIMS = [2048, 2048, 2048, 1024] |
|
|
|
_C.MODEL.BACKBONE.LORA = CN() |
|
_C.MODEL.BACKBONE.LORA.SCALE = 0.2 |
|
_C.MODEL.BACKBONE.LORA.RANK = 4 |
|
|
|
_C.MODEL.BACKBONE.ADAPTIVE_LN = CN() |
|
_C.MODEL.BACKBONE.ADAPTIVE_LN.SCALE = 0.5 |
|
|
|
_C.MODEL.BACKBONE_SMALL = CN() |
|
_C.MODEL.BACKBONE_SMALL.NAME = "dinov2_vit_b" |
|
_C.MODEL.BACKBONE_SMALL.LAYERS = [5, 8, 11] |
|
_C.MODEL.BACKBONE_SMALL.CLS_DIMS = [1536, 1536, 768] |
|
_C.MODEL.BACKBONE_SMALL.T_DIM = 128 |
|
_C.MODEL.BACKBONE_SMALL.WIDTH = 128 |
|
_C.MODEL.BACKBONE_SMALL.MERGE_WIDTH = 128 |
|
|
|
_C.MODEL.BACKBONE_SMALL.LORA = CN() |
|
_C.MODEL.BACKBONE_SMALL.LORA.SCALE = 0.2 |
|
_C.MODEL.BACKBONE_SMALL.LORA.RANK = 4 |
|
|
|
_C.MODEL.BACKBONE_SMALL.ADAPTIVE_LN = CN() |
|
_C.MODEL.BACKBONE_SMALL.ADAPTIVE_LN.SCALE = 0.5 |
|
|
|
_C.MODEL.PREV_FEAT = CN() |
|
_C.MODEL.PREV_FEAT.DIM = 1024 |
|
|
|
_C.MODEL.CONV_HEAD = CN() |
|
_C.MODEL.CONV_HEAD.MAX_DIM = 1024 |
|
_C.MODEL.CONV_HEAD.KERNEL_SIZES = [5, 5, 5, 5] |
|
_C.MODEL.CONV_HEAD.DEPTHS = [3, 3, 3, 3] |
|
_C.MODEL.CONV_HEAD.WIDTH = 256 |
|
_C.MODEL.CONV_HEAD.SIMPLE = True |
|
|
|
_C.MODEL.COND = CN() |
|
_C.MODEL.COND.USE = True |
|
_C.MODEL.COND.DROPOUT = 0.2 |
|
_C.MODEL.COND.IN_DIM = 35 |
|
_C.MODEL.COND.DIM = 256 |
|
_C.MODEL.COND.PASSTHROUGH_DIM = 64 |
|
|
|
_C.MODEL.MAX_TRAIN_VOXELS = 25600 |
|
_C.MODEL.CHUNK_SIZE = 25600 |
|
|
|
_C.MODEL.COORDS_MLP = CN() |
|
_C.MODEL.COORDS_MLP.WIDTH = 128 |
|
_C.MODEL.COORDS_MLP.DEPTH = 3 |
|
_C.MODEL.COORDS_MLP.LOG = True |
|
|
|
_C.MODEL.RETINA_MAPPER = CN() |
|
_C.MODEL.RETINA_MAPPER.CONSTANT_SIGMA = 0.01 |
|
|
|
_C.MODEL.LAYER_SELECTOR = CN() |
|
|
|
_C.MODEL.BOTTLENECK = CN() |
|
_C.MODEL.BOTTLENECK.RANK = -1 |
|
_C.MODEL.BOTTLENECK.OUT_DIM = 64 |
|
|
|
_C.MODEL.VOXEL_OUTS = CN() |
|
_C.MODEL.VOXEL_OUTS.SHARED = CN() |
|
_C.MODEL.VOXEL_OUTS.SHARED.USE = False |
|
_C.MODEL.VOXEL_OUTS.SHARED.MLP = CN() |
|
_C.MODEL.VOXEL_OUTS.SHARED.MLP.DEPTH = 3 |
|
_C.MODEL.VOXEL_OUTS.SHARED.MLP.WIDTH = 1024 |
|
|
|
_C.LOSS = CN() |
|
_C.LOSS.NAME = "SmoothL1Loss" |
|
_C.LOSS.SMOOTH_L1_BETA = 0.01 |
|
|
|
_C.LOSS.SYNC = CN() |
|
_C.LOSS.SYNC.USE = False |
|
_C.LOSS.SYNC.STAGE = "VAL" |
|
_C.LOSS.SYNC.SKIP_EPOCHS = 10 |
|
_C.LOSS.SYNC.EMA_BETA = 0.9 |
|
_C.LOSS.SYNC.EMA_BIAS_CORRECTION = False |
|
_C.LOSS.SYNC.UPDATE_RULE = "exp" |
|
_C.LOSS.SYNC.EXP_SCALE = 10.0 |
|
_C.LOSS.SYNC.EXP_SHIFT = 0.0 |
|
_C.LOSS.SYNC.LOG_SHIFT = 10.0 |
|
_C.LOSS.SYNC.EMA_KEY = "running_grad" |
|
|
|
_C.LOSS.DARK = CN() |
|
_C.LOSS.DARK.USE = False |
|
_C.LOSS.DARK.MAX_EPOCH = 100 |
|
_C.LOSS.DARK.GT_ROIS = ["htroi_1"] |
|
_C.LOSS.DARK.GT_SCALE_UP_COEF = 1.0 |
|
|
|
_C.LOSS.DARK.ANNEAL = CN() |
|
_C.LOSS.DARK.ANNEAL.T = 30 |
|
|
|
_C.REGULARIZER = CN() |
|
_C.REGULARIZER.LAYER = 3e-5 |
|
|
|
_C.OPTIMIZER = CN() |
|
_C.OPTIMIZER.NAME = "AdamW" |
|
_C.OPTIMIZER.LR = 3e-4 |
|
_C.OPTIMIZER.WEIGHT_DECAY = 3e-4 |
|
|
|
_C.OPTIMIZER.SCHEDULER = CN() |
|
_C.OPTIMIZER.SCHEDULER.T_INITIAL = 1 |
|
_C.OPTIMIZER.SCHEDULER.T_MULT = 1.0 |
|
_C.OPTIMIZER.SCHEDULER.CYCLE_DECAY = 0.5 |
|
_C.OPTIMIZER.SCHEDULER.CYCLE_LIMIT = 3 |
|
_C.OPTIMIZER.SCHEDULER.WARMUP_T = 3 |
|
_C.OPTIMIZER.SCHEDULER.K_DECAY = 1.5 |
|
_C.OPTIMIZER.SCHEDULER.LR_MIN = 3e-4 |
|
_C.OPTIMIZER.SCHEDULER.LR_MIN_WARMUP = 1e-4 |
|
|
|
_C.TRAINER = CN() |
|
_C.TRAINER.DDP = False |
|
_C.TRAINER.PRECISION = 16 |
|
_C.TRAINER.GRADIENT_CLIP_VAL = 0.5 |
|
_C.TRAINER.MAX_EPOCHS = 1000 |
|
_C.TRAINER.MAX_STEPS = -1 |
|
_C.TRAINER.ACCUMULATE_GRAD_BATCHES = 1 |
|
_C.TRAINER.VAL_CHECK_INTERVAL = 1.0 |
|
_C.TRAINER.LIMIT_TRAIN_BATCHES = 0.1 |
|
_C.TRAINER.LIMIT_VAL_BATCHES = 0.5 |
|
_C.TRAINER.LOG_TRAIN_N_STEPS = 100 |
|
|
|
_C.TRAINER.CALLBACKS = CN() |
|
|
|
_C.TRAINER.CALLBACKS.EARLY_STOP = CN() |
|
_C.TRAINER.CALLBACKS.EARLY_STOP.PATIENCE = 30 |
|
|
|
_C.TRAINER.CALLBACKS.CHECKPOINT = CN() |
|
_C.TRAINER.CALLBACKS.CHECKPOINT.SAVE_TOP_K = 10 |
|
_C.TRAINER.CALLBACKS.CHECKPOINT.REMOVE = True |
|
_C.TRAINER.CALLBACKS.CHECKPOINT.LOAD_BEST_ON_VAL = False |
|
_C.TRAINER.CALLBACKS.CHECKPOINT.LOAD_BEST_ON_END = False |
|
|
|
_C.MODEL_SOUP = CN() |
|
_C.MODEL_SOUP.USE = True |
|
_C.MODEL_SOUP.RECIPE = "greedy" |
|
_C.MODEL_SOUP.GREEDY_TARGET = "heldout" |
|
|
|
_C.RESULTS_DIR = "/nfscc/alg23/ray_results/" |
|
_C.CHECKPOINT_DIR = "/data/ckpt/" |
|
|
|
_C.ANALYSIS = CN() |
|
_C.ANALYSIS.SAVE_NEURON_LOCATION = False |
|
_C.ANALYSIS.DRAW_NEURON_LOCATION = False |
|
|
|
|
|
AutoConfig = CN |
|
|
|
|
|
build_pyi(_C, __file__, var_name="_C") |
|
|