DATA_CONFIG:
DATA_INFOS:
- DATASET: SceneFlowDataset # dataset name
DATA_SPLIT: {
TRAINING: ./data/SceneFlow/sceneflow_cleanpass_train.txt, # train list
EVALUATING: ./data/SceneFlow/sceneflow_cleanpass_test.txt, # eval list
TESTING: ./data/SceneFlow/sceneflow_cleanpass_test.txt # test list
}
DATA_PATH: /yourpath/SceneFlow # the dataset root path
RETURN_RIGHT_DISP: false
DATA_TRANSFORM:
TRAINING:
- { NAME: RandomCrop, SIZE: [ 384, 768 ], Y_JITTER: false }
- { NAME: TransposeImage }
- { NAME: ToTensor }
- { NAME: NormalizeImage, MEAN: [ 0.485, 0.456, 0.406 ], STD: [ 0.229, 0.224, 0.225 ] }
EVALUATING:
- { NAME: RightTopPad, SIZE: [ 576, 960 ] }
- { NAME: TransposeImage }
- { NAME: ToTensor }
- { NAME: NormalizeImage, MEAN: [ 0.485, 0.456, 0.406 ], STD: [ 0.229, 0.224, 0.225 ] }
MODEL:
NAME: FADNet
MAX_DISP: &max_disp 192
RESBLOCK: true
INPUT_CHANNEL: 3
ENCODER_RATIO: 16
DECODER_RATIO: 16
IN_PLANES: 11
FIND_UNUSED_PARAMETERS: false
CKPT: -1 # if you want to resume from previous training, set this, -1 means not resume
PRETRAINED_MODEL: '' # if you want to load pretrained model, set this
OPTIMIZATION:
BATCH_SIZE_PER_GPU: 1 # training batch size each gpu
FREEZE_BN: false
SYNC_BN: true
AMP: false
NUM_EPOCHS: 64 # training epoches
OPTIMIZER:
NAME: Lamb
LR: 0.004
SCHEDULER:
NAME: MultiStepLR
GAMMA: 0.5
MILESTONES: [ 10, 20, 30 ]
ON_EPOCH: True # wheather the scheduler work on epoch or iter
WARMUP:
WARM_STEPS: 100
EVALUATOR:
BATCH_SIZE_PER_GPU: 10 # eval batch size each gpu
MAX_DISP: *max_disp
METRIC:
- d1_all
- epe
- thres_1
- thres_2
- thres_3
TRAINER:
EVAL_INTERVAL: 1
CKPT_SAVE_INTERVAL: 1
MAX_CKPT_SAVE_NUM: 30
LOGGER_ITER_INTERVAL: 10
TRAIN_VISUALIZATION: True
EVAL_VISUALIZATION: True