total_iters: 600000 output_dir: output_dir find_unused_parameters: True checkpoints_dir: checkpoints # tensor range for function tensor2img min_max: (0., 1.) model: name: EDVRModel tsa_iter: 50000 generator: name: EDVRNet in_nf: 3 out_nf: 3 scale_factor: 4 nf: 128 nframes: 5 groups: 8 front_RBs: 5 back_RBs: 40 center: 2 predeblur: False HR_in: False w_TSA: True pixel_criterion: name: CharbonnierLoss dataset: train: name: REDSDataset mode: train gt_folder: data/REDS/train_sharp/X4 lq_folder: data/REDS/train_sharp_bicubic/X4 img_format: png crop_size: 256 interval_list: [1] random_reverse: False number_frames: 5 use_flip: True use_rot: True buf_size: 1024 scale: 4 fix_random_seed: 10 num_workers: 3 batch_size: 4 # 8GPUs test: name: REDSDataset mode: test gt_folder: data/REDS/REDS4_test_sharp/X4 lq_folder: data/REDS/REDS4_test_sharp_bicubic/X4 img_format: png interval_list: [1] random_reverse: False number_frames: 5 batch_size: 1 use_flip: False use_rot: False buf_size: 1024 scale: 4 fix_random_seed: 10 lr_scheduler: name: CosineAnnealingRestartLR learning_rate: !!float 4e-4 periods: [50000, 100000, 150000, 150000, 150000] restart_weights: [1, 0.5, 0.5, 0.5, 0.5] eta_min: !!float 1e-7 optimizer: name: Adam # add parameters of net_name to optim # name should in self.nets net_names: - generator beta1: 0.9 beta2: 0.99 validate: interval: 5000 save_img: false metrics: psnr: # metric name, can be arbitrary name: PSNR crop_border: 0 test_y_channel: False ssim: name: SSIM crop_border: 0 test_y_channel: False log_config: interval: 10 visiual_interval: 5000 snapshot_config: interval: 5000