Regarding the issue of PSNR indicator first rising and then falling
May I ask you a few questions about video super-resolution? @xinntao I'm using Basic VSR++, and I suspect there is a problem with my configuration file.
train_BasicVSRPP_REDS_test.yml
GENERATE TIME: Wed Sep 10 15:33:31 2025
CMD:
/public/home/jsj_sjfx_jjh/BasicSR-master/basicsr/train.py -opt /public/home/jsj_sjfx_jjh/BasicSR-master/options/train/BasicVSRPP/train_BasicVSRPP_REDS_test.yml
general settings
name: train_BasicVSRPP_REDS model_type: VideoRecurrentModel scale: 4 num_gpu: 1 # official: 8 GPUs manual_seed: 0
dataset and data loader settings
datasets: train: name: REDS type: REDSRecurrentDataset dataroot_gt: /public/home/jsj_sjfx_jjh/data/data_JILIN189/train/GT/ dataroot_lq: /public/home/jsj_sjfx_jjh/data/data_JILIN189/train/LR4x/ meta_info_file: "/public/home/jsj_sjfx_jjh/data/data_JILIN189/meta_info_REDS_GT.txt" val_partition: REDS4 # set to 'official' when use the official validation partition test_mode: False io_backend: type: disk
num_frame: 15
gt_size: 256
interval_list: [1]
random_reverse: false
use_hflip: true
use_rot: true
# data loader
num_worker_per_gpu: 0
batch_size_per_gpu: 1
dataset_enlarge_ratio: 200
prefetch_mode: ~
val: name: REDS4 type: VideoRecurrentTestDataset dataroot_gt: /public/home/jsj_sjfx_jjh/data/data_JILIN189/eval/GT/ dataroot_lq: /public/home/jsj_sjfx_jjh/data/data_JILIN189/eval/LR4x/
cache_data: true
io_backend:
type: disk
num_frame: -1 # not needed
network structures
network_g: type: BasicVSRPlusPlus mid_channels: 64 num_blocks: 7 is_low_res_input: true spynet_path: experiments/pretrained_models/spynet_sintel_final-3d2a1287.pth
path
path: pretrain_network_g: ~ strict_load_g: true resume_state: ~
training settings
train: ema_decay: 0.999 optim_g: type: Adam lr: !!float 2e-4 weight_decay: 0 betas: [0.9, 0.99] capturable: True
scheduler: type: CosineAnnealingRestartLR periods: [200000] restart_weights: [1] eta_min: !!float 1e-7
total_iter: 200000 warmup_iter: -1 # no warm up fix_flow: 5000 flow_lr_mul: 0.125
losses
pixel_opt: type: CharbonnierLoss loss_weight: 1.0 reduction: mean
validation settings
val: val_freq: 5000 save_img: False
metrics: psnr: # metric name, can be arbitrary type: calculate_psnr crop_border: 0 test_y_channel: false better: higher # the higher, the better. Default: higher
niqe:
type: calculate_niqe
crop_border: 0
better: lower # the lower, the better
logging settings
logger: print_freq: 100 save_checkpoint_freq: 10000 use_tb_logger: true wandb: project: ~ resume_id: ~
dist training settings
dist_params: backend: nccl port: 29500
find_unused_parameters: true