Commit 2ac5586e authored by Rayyyyy's avatar Rayyyyy
Browse files

first commit

parents
Pipeline #784 canceled with stages
name: HAT_SRx3_ImageNet-pretrain
model_type: HATModel
scale: 3
num_gpu: 1 # set num_gpu: 0 for cpu mode
manual_seed: 0
datasets:
test_1: # the 1st test dataset
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod3
dataroot_lq: ./datasets/Set5/LRbicx3
io_backend:
type: disk
# test_2: # the 2nd test dataset
# name: Set14
# type: PairedImageDataset
# dataroot_gt: ./datasets/Set14/GTmod3
# dataroot_lq: ./datasets/Set14/LRbicx3
# io_backend:
# type: disk
# test_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod3
# dataroot_lq: ./datasets/urban100/LRbicx3
# io_backend:
# type: disk
# test_4:
# name: BSDS100
# type: PairedImageDataset
# dataroot_gt: ./datasets/BSDS100/GTmod3
# dataroot_lq: ./datasets/BSDS100/LRbicx3
# io_backend:
# type: disk
# test_5:
# name: Manga109
# type: PairedImageDataset
# dataroot_gt: ./datasets/manga109/GTmod3
# dataroot_lq: ./datasets/manga109/LRbicx3
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 3
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/pretrained_models/HAT_SRx3_ImageNet-pretrain.pth
strict_load_g: true
param_key_g: 'params_ema'
# validation settings
val:
save_img: true
suffix: ~ # add suffix to saved images, if None, use exp name
metrics:
psnr: # metric name, can be arbitrary
type: calculate_psnr
crop_border: 3
test_y_channel: true
ssim:
type: calculate_ssim
crop_border: 3
test_y_channel: true
name: HAT_SRx4
model_type: HATModel
scale: 4
num_gpu: 1 # set num_gpu: 0 for cpu mode
manual_seed: 0
datasets:
test_1: # the 1st test dataset
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod4
dataroot_lq: ./datasets/Set5/LRbicx4
io_backend:
type: disk
# test_2: # the 2nd test dataset
# name: Set14
# type: PairedImageDataset
# dataroot_gt: ./datasets/Set14/GTmod4
# dataroot_lq: ./datasets/Set14/LRbicx4
# io_backend:
# type: disk
# test_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod4
# dataroot_lq: ./datasets/urban100/LRbicx4
# io_backend:
# type: disk
# test_4:
# name: BSDS100
# type: PairedImageDataset
# dataroot_gt: ./datasets/BSDS100/GTmod4
# dataroot_lq: ./datasets/BSDS100/LRbicx4
# io_backend:
# type: disk
# test_5:
# name: Manga109
# type: PairedImageDataset
# dataroot_gt: ./datasets/manga109/GTmod4
# dataroot_lq: ./datasets/manga109/LRbicx4
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/pretrained_models/HAT_SRx4.pth
strict_load_g: true
param_key_g: 'params_ema'
# validation settings
val:
save_img: true
suffix: ~ # add suffix to saved images, if None, use exp name
metrics:
psnr: # metric name, can be arbitrary
type: calculate_psnr
crop_border: 4
test_y_channel: true
ssim:
type: calculate_ssim
crop_border: 4
test_y_channel: true
name: HAT_SRx4_ImageNet-LR
model_type: HATModel
scale: 4
num_gpu: 1 # set num_gpu: 0 for cpu mode
manual_seed: 0
tile:
tile_size: 512 # max patch size for the tile mode
tile_pad: 32
datasets:
test_1: # the 1st test dataset
name: custom
type: SingleImageDataset
dataroot_lq: ./datasets/Set5/LRbicx4
io_backend:
type: disk
# network structures
network_g:
type: HAT
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: experiments/pretrained_models/HAT_SRx4_ImageNet-pretrain.pth
strict_load_g: true
param_key_g: 'params_ema'
# validation settings
val:
save_img: true
suffix: ~ # add suffix to saved images, if None, use exp name
name: HAT_SRx4_ImageNet-pretrain
model_type: HATModel
scale: 4
num_gpu: 1 # set num_gpu: 0 for cpu mode
manual_seed: 0
datasets:
test_1: # the 1st test dataset
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod12
dataroot_lq: ./datasets/Set5/LRbicx4
io_backend:
type: disk
# test_2: # the 2nd test dataset
# name: Set14
# type: PairedImageDataset
# dataroot_gt: ./datasets/Set14/GTmod12
# dataroot_lq: ./datasets/Set14/LRbicx4
# io_backend:
# type: disk
# test_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod4
# dataroot_lq: ./datasets/urban100/LRbicx4
# io_backend:
# type: disk
# test_4:
# name: BSDS100
# type: PairedImageDataset
# dataroot_gt: ./datasets/BSDS100/GTmod4
# dataroot_lq: ./datasets/BSDS100/LRbicx4
# io_backend:
# type: disk
# test_5:
# name: Manga109
# type: PairedImageDataset
# dataroot_gt: ./datasets/manga109/GTmod4
# dataroot_lq: ./datasets/manga109/LRbicx4
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/pretrained_models/HAT_SRx4_ImageNet-pretrain.pth
strict_load_g: true
param_key_g: 'params_ema'
# validation settings
val:
save_img: true
suffix: ~ # add suffix to saved images, if None, use exp name
metrics:
psnr: # metric name, can be arbitrary
type: calculate_psnr
crop_border: 4
test_y_channel: true
ssim:
type: calculate_ssim
crop_border: 4
test_y_channel: true
name: HAT_SRx4_ImageNet-pretrain
model_type: HATModel
scale: 4
num_gpu: 1 # set num_gpu: 0 for cpu mode
manual_seed: 0
tile: # use the tile mode for limited GPU memory when testing.
tile_size: 256 # the higher, the more utilized GPU memory and the less performance change against the full image. must be an integer multiple of the window size.
tile_pad: 32 # overlapping between adjacency patches.must be an integer multiple of the window size.
datasets:
test_1: # the 1st test dataset
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod4
dataroot_lq: ./datasets/Set5/LRbicx4
io_backend:
type: disk
# test_2: # the 2nd test dataset
# name: Set14
# type: PairedImageDataset
# dataroot_gt: ./datasets/Set14/GTmod4
# dataroot_lq: ./datasets/Set14/LRbicx4
# io_backend:
# type: disk
test_3:
name: Urban100
type: PairedImageDataset
dataroot_gt: ./datasets/urban100/GTmod4
dataroot_lq: ./datasets/urban100/LRbicx4
io_backend:
type: disk
# test_4:
# name: BSDS100
# type: PairedImageDataset
# dataroot_gt: ./datasets/BSDS100/GTmod4
# dataroot_lq: ./datasets/BSDS100/LRbicx4
# io_backend:
# type: disk
# test_5:
# name: Manga109
# type: PairedImageDataset
# dataroot_gt: ./datasets/manga109/GTmod4
# dataroot_lq: ./datasets/manga109/LRbicx4
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/pretrained_models/HAT_SRx4_ImageNet-pretrain.pth
strict_load_g: true
param_key_g: 'params_ema'
# validation settings
val:
save_img: true
suffix: ~ # add suffix to saved images, if None, use exp name
metrics:
psnr: # metric name, can be arbitrary
type: calculate_psnr
crop_border: 4
test_y_channel: true
ssim:
type: calculate_ssim
crop_border: 4
test_y_channel: true
# general settings
name: train_HAT-L_SRx2_ImageNet_from_scratch
model_type: HATModel
scale: 2
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: ImageNet
type: ImageNetPairedDataset
dataroot_gt: datasets/ImageNet/GT
meta_info_file: hat/data/meta_info/meta_info_ImageNet_GT.txt
io_backend:
type: disk
gt_size: 128
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod2
dataroot_lq: ./datasets/Set5/LRbicx2
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod2
dataroot_lq: ./datasets/Set14/LRbicx2
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod2
# dataroot_lq: ./datasets/urban100/LRbicx2
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 2
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [300000, 500000, 650000, 700000, 750000]
gamma: 0.5
total_iter: 800000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 1e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 1e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-L_SRx2_finetune_from_ImageNet_pretrain
model_type: HATModel
scale: 2
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx2_sub
meta_info_file: hat/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 128
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod2
dataroot_lq: ./datasets/Set5/LRbicx2
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod2
dataroot_lq: ./datasets/Set14/LRbicx2
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod2
# dataroot_lq: ./datasets/urban100/LRbicx2
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 2
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/train_HAT-L_SRx2_ImageNet_from_scratch/models/net_g_latest.pth
param_key_g: 'params_ema'
strict_load_g: true
resume_state: ~
# training settings
train:
ema_decay: 0.999
optim_g:
type: Adam
lr: !!float 1e-5
weight_decay: 0
betas: [0.9, 0.99]
scheduler:
type: MultiStepLR
milestones: [125000, 200000, 225000, 240000]
gamma: 0.5
total_iter: 250000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 5e3
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 5e3
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-L_SRx3_ImageNet_from_scratch
model_type: HATModel
scale: 3
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: ImageNet
type: ImageNetPairedDataset
dataroot_gt: datasets/ImageNet/GT
meta_info_file: hat/data/meta_info/meta_info_ImageNet_GT.txt
io_backend:
type: disk
gt_size: 192
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod3
dataroot_lq: ./datasets/Set5/LRbicx3
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod3
dataroot_lq: ./datasets/Set14/LRbicx3
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod3
# dataroot_lq: ./datasets/urban100/LRbicx3
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 3
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [300000, 500000, 650000, 700000, 750000]
gamma: 0.5
total_iter: 800000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 1e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 1e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-L_SRx3_finetune_from_ImageNet_pretrain
model_type: HATModel
scale: 3
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx3_sub
meta_info_file: hat/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 192
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod3
dataroot_lq: ./datasets/Set5/LRbicx3
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod3
dataroot_lq: ./datasets/Set14/LRbicx3
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod3
# dataroot_lq: ./datasets/urban100/LRbicx3
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 3
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/train_HAT-L_SRx3_ImageNet_from_scratch/models/net_g_latest.pth
param_key_g: 'params_ema'
strict_load_g: true
resume_state: ~
# training settings
train:
ema_decay: 0.999
optim_g:
type: Adam
lr: !!float 1e-5
weight_decay: 0
betas: [0.9, 0.99]
scheduler:
type: MultiStepLR
milestones: [125000, 200000, 225000, 240000]
gamma: 0.5
total_iter: 250000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 5e3
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 5e3
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-L_SRx4_ImageNet_from_scratch
model_type: HATModel
scale: 4
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: ImageNet
type: ImageNetPairedDataset
dataroot_gt: datasets/ImageNet/GT
meta_info_file: hat/data/meta_info/meta_info_ImageNet_GT.txt
io_backend:
type: disk
gt_size: 256
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod4
dataroot_lq: ./datasets/Set5/LRbicx4
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod4
dataroot_lq: ./datasets/Set14/LRbicx4
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod4
# dataroot_lq: ./datasets/urban100/LRbicx4
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [300000, 500000, 650000, 700000, 750000]
gamma: 0.5
total_iter: 800000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 1e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 4
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 4
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 1e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-L_SRx4_finetune_from_ImageNet_pretrain
model_type: HATModel
scale: 4
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx4_sub
meta_info_file: hat/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 256
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod12
dataroot_lq: ./datasets/Set5/LRbicx4
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod12
dataroot_lq: ./datasets/Set14/LRbicx4
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod12
# dataroot_lq: ./datasets/urban100/LRbicx4
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/train_HAT-L_SRx4_ImageNet_from_scratch/models/net_g_latest.pth
param_key_g: 'params_ema'
strict_load_g: true
resume_state: ~
# training settings
train:
ema_decay: 0.999
optim_g:
type: Adam
lr: !!float 1e-5
weight_decay: 0
betas: [0.9, 0.99]
scheduler:
type: MultiStepLR
milestones: [125000, 200000, 225000, 240000]
gamma: 0.5
total_iter: 250000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 5e3
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 4
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 4
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 5e3
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-S_SRx2_from_scratch
model_type: HATModel
scale: 2
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx2_sub
meta_info_file: hct/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 128
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val:
name: Set5
type: PairedImageDataset
dataroot_gt: datasets/Set5/GTmod2
dataroot_lq: datasets/Set5/LRbicx2
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: datasets/Set14/GTmod2
dataroot_lq: datasets/Set14/LRbicx2
io_backend:
type: disk
val_3:
name: Urban100
type: PairedImageDataset
dataroot_gt: datasets/urban100/GTmod2
dataroot_lq: datasets/urban100/LRbicx2
io_backend:
type: disk
# network structures
network_g:
type: HAT
upscale: 2
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 24
squeeze_factor: 24
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 144
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [250000, 400000, 450000, 475000]
gamma: 0.5
total_iter: 500000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 2e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 2e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-S_SRx3_from_scratch
model_type: HATModel
scale: 3
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx3_sub
meta_info_file: hct/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 192
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val:
name: Set5
type: PairedImageDataset
dataroot_gt: datasets/Set5/GTmod3
dataroot_lq: datasets/Set5/LRbicx3
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: datasets/Set14/GTmod3
dataroot_lq: datasets/Set14/LRbicx3
io_backend:
type: disk
val_3:
name: Urban100
type: PairedImageDataset
dataroot_gt: datasets/urban100/GTmod3
dataroot_lq: datasets/urban100/LRbicx3
io_backend:
type: disk
# network structures
network_g:
type: HAT
upscale: 3
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 24
squeeze_factor: 24
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 144
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [250000, 400000, 450000, 475000]
gamma: 0.5
total_iter: 500000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 2e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 2e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT-S_SRx4_finetune_from_SRx2
model_type: HATModel
scale: 4
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx4_sub
meta_info_file: hct/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 256
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val:
name: Set5
type: PairedImageDataset
dataroot_gt: datasets/Set5/GTmod4
dataroot_lq: datasets/Set5/LRbicx4
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: datasets/Set14/GTmod4
dataroot_lq: datasets/Set14/LRbicx4
io_backend:
type: disk
val_3:
name: Urban100
type: PairedImageDataset
dataroot_gt: datasets/urban100/GTmod4
dataroot_lq: datasets/urban100/LRbicx4
io_backend:
type: disk
# network structures
network_g:
type: HAT
upscale: 4
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 24
squeeze_factor: 24
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 144
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/563_train_HAT-S_SRx2_scratch_DF2K_500k_B4G8/models/net_g_latest.pth
strict_load_g: false
resume_state: ~
# training settings
train:
ema_decay: 0.999
optim_g:
type: Adam
lr: !!float 1e-4
weight_decay: 0
betas: [0.9, 0.99]
scheduler:
type: MultiStepLR
milestones: [125000, 200000, 225000, 240000]
gamma: 0.5
total_iter: 250000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 2e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 4
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 4
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 2e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT_SRx2_ImageNet_from_scratch
model_type: HATModel
scale: 2
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: ImageNet
type: ImageNetPairedDataset
dataroot_gt: datasets/ImageNet/GT
meta_info_file: hat/data/meta_info/meta_info_ImageNet_GT.txt
io_backend:
type: disk
gt_size: 128
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod2
dataroot_lq: ./datasets/Set5/LRbicx2
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod2
dataroot_lq: ./datasets/Set14/LRbicx2
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod2
# dataroot_lq: ./datasets/urban100/LRbicx2
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 2
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [300000, 500000, 650000, 700000, 750000]
gamma: 0.5
total_iter: 800000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 1e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 1e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT_SRx2_finetune_from_ImageNet_pretrain
model_type: HATModel
scale: 2
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx2_sub
meta_info_file: hat/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 128
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod2
dataroot_lq: ./datasets/Set5/LRbicx2
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod2
dataroot_lq: ./datasets/Set14/LRbicx2
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod2
# dataroot_lq: ./datasets/urban100/LRbicx2
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 2
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/train_HAT_SRx2_ImageNet_from_scratch/models/net_g_latest.pth
param_key_g: 'params_ema'
strict_load_g: true
resume_state: ~
# training settings
train:
ema_decay: 0.999
optim_g:
type: Adam
lr: !!float 1e-5
weight_decay: 0
betas: [0.9, 0.99]
scheduler:
type: MultiStepLR
milestones: [125000, 200000, 225000, 240000]
gamma: 0.5
total_iter: 250000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 5e3
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 5e3
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT_SRx2_from_scratch
model_type: HATModel
scale: 2
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx2_sub
meta_info_file: hat/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 128
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod2
dataroot_lq: ./datasets/Set5/LRbicx2
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod2
dataroot_lq: ./datasets/Set14/LRbicx2
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod2
# dataroot_lq: ./datasets/urban100/LRbicx2
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 2
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [250000, 400000, 450000, 475000]
gamma: 0.5
total_iter: 500000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 5e3
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 2
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 5e3
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT_SRx3_ImageNet_from_scratch
model_type: HATModel
scale: 3
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: ImageNet
type: ImageNetPairedDataset
dataroot_gt: datasets/ImageNet/GT
meta_info_file: hat/data/meta_info/meta_info_ImageNet_GT.txt
io_backend:
type: disk
gt_size: 192
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod3
dataroot_lq: ./datasets/Set5/LRbicx3
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod3
dataroot_lq: ./datasets/Set14/LRbicx3
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod3
# dataroot_lq: ./datasets/urban100/LRbicx3
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 3
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [300000, 500000, 650000, 700000, 750000]
gamma: 0.5
total_iter: 800000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 1e4
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 1e4
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT_SRx3_finetune_from_ImageNet_pretrain
model_type: HATModel
scale: 3
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx3_sub
meta_info_file: hat/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 192
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod3
dataroot_lq: ./datasets/Set5/LRbicx3
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod3
dataroot_lq: ./datasets/Set14/LRbicx3
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod3
# dataroot_lq: ./datasets/urban100/LRbicx3
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 3
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# path
path:
pretrain_network_g: ./experiments/train_HAT_SRx3_ImageNet_from_scratch/models/net_g_latest.pth
param_key_g: 'params_ema'
strict_load_g: true
resume_state: ~
# training settings
train:
ema_decay: 0.999
optim_g:
type: Adam
lr: !!float 1e-5
weight_decay: 0
betas: [0.9, 0.99]
scheduler:
type: MultiStepLR
milestones: [125000, 200000, 225000, 240000]
gamma: 0.5
total_iter: 250000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 5e3
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 5e3
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
# general settings
name: train_HAT_SRx3_from_scratch
model_type: HATModel
scale: 3
num_gpu: auto
manual_seed: 0
# dataset and data loader settings
datasets:
train:
name: DF2K
type: PairedImageDataset
dataroot_gt: datasets/DF2K/DF2K_HR_sub
dataroot_lq: datasets/DF2K/DF2K_bicx3_sub
meta_info_file: hat/data/meta_info/meta_info_DF2Ksub_GT.txt
io_backend:
type: disk
gt_size: 192
use_hflip: true
use_rot: true
# data loader
use_shuffle: true
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~
val_1:
name: Set5
type: PairedImageDataset
dataroot_gt: ./datasets/Set5/GTmod3
dataroot_lq: ./datasets/Set5/LRbicx3
io_backend:
type: disk
val_2:
name: Set14
type: PairedImageDataset
dataroot_gt: ./datasets/Set14/GTmod3
dataroot_lq: ./datasets/Set14/LRbicx3
io_backend:
type: disk
# val_3:
# name: Urban100
# type: PairedImageDataset
# dataroot_gt: ./datasets/urban100/GTmod3
# dataroot_lq: ./datasets/urban100/LRbicx3
# io_backend:
# type: disk
# network structures
network_g:
type: HAT
upscale: 3
in_chans: 3
img_size: 64
window_size: 16
compress_ratio: 3
squeeze_factor: 30
conv_scale: 0.01
overlap_ratio: 0.5
img_range: 1.
depths: [6, 6, 6, 6, 6, 6]
embed_dim: 180
num_heads: [6, 6, 6, 6, 6, 6]
mlp_ratio: 2
upsampler: 'pixelshuffle'
resi_connection: '1conv'
# 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]
scheduler:
type: MultiStepLR
milestones: [250000, 400000, 450000, 475000]
gamma: 0.5
total_iter: 500000
warmup_iter: -1 # no warm up
# losses
pixel_opt:
type: L1Loss
loss_weight: 1.0
reduction: mean
# validation settings
val:
val_freq: !!float 5e3
save_img: false
pbar: False
metrics:
psnr:
type: calculate_psnr
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
ssim:
type: calculate_ssim
crop_border: 3
test_y_channel: true
better: higher # the higher, the better. Default: higher
# logging settings
logger:
print_freq: 100
save_checkpoint_freq: !!float 5e3
use_tb_logger: true
wandb:
project: ~
resume_id: ~
# dist training settings
dist_params:
backend: nccl
port: 29500
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment