# python train.py -opt options/sr/x1_ITF_SkinDiffDetail_Lite_v1.yml name: x1_ITF_SkinDiffDetail_Lite_v1 # the name that defines the experiment and the directory that will be created in the experiments directory. # name: debug_001_template # use the "debug" or "debug_nochkp" prefix in the name to run a test session and check everything is working. Does validation and state saving every 8 iterations. Remove "debug" to run the real training session. use_tb_logger: false # wheter to enable Tensorboard logging or not. Output will be saved in: traiNNer/tb_logger/ model: sr # the model training strategy to be used. Depends on the type of model, from: https://github.com/victorca25/traiNNer/tree/master/codes/models scale: 1 # the scale factor that will be used for training for super-resolution cases. Default is "1". gpu_ids: [0] # the list of `CUDA_VISIBLE_DEVICES` that will be used during training, ie. for two GPUs, use [0, 1]. The batch size should be a multiple of the number of 'gpu_ids', since images will be distributed from the batch to each GPU. use_amp: true # select to use PyTorch's Automatic Mixed Precision package to train in low-precision FP16 mode (lowers VRAM requirements). use_swa: false # select to use Stochastic Weight Averaging use_cem: false # select to use CEM during training. https://github.com/victorca25/traiNNer/tree/master/codes/models/modules/architectures/CEM # Dataset options: datasets: # configure the datasets train: # the stage the dataset will be used for (training) name: x1_ITF_SkinDiffDetail_Lite_v1 # the name of your dataset (only informative) mode: aligned # dataset mode: https://github.com/victorca25/traiNNer/tree/master/codes/data dataroot_HR: [ #'K:/TRAINING/data/Skin_Diff2Nrml/hr_clean_tiles/' '../datasets/Skin_DiffDetail/hr/' ] dataroot_LR: [ #'K:/TRAINING/data/Skin_Diff2Nrml/lr_clean_tiles/' '../datasets/Skin_DiffDetail/lr_soft/' ] # low resolution images subset_file: null use_shuffle: true znorm: false n_workers: 8 batch_size: 12 virtual_batch_size: 12 preprocess: crop crop_size: 64 image_channels: 3 # Color space conversion # color: 'y' # color_LR: 'y' # color_HR: 'y' # LR and HR modifiers. # aug_downscale: 0.2 # shape_change: reshape_lr # Enable random downscaling of HR images (will fix LR pair to correct size) hr_downscale: true hr_downscale_types: [0, 3] hr_downscale_amount: [1, 2, 4] # #pre_crop: true # Presets and on the fly (OTF) augmentations #augs_strategy: combo #add_blur_preset: custom_blur #add_resize_preset: custom_resize #add_noise_preset: custom_noise #aug_downscale: 0.2 resize_strat: pre # On the fly generation of LR: # dataroot_kernels: 'KERNEL PATH !!!! CHANGE THIS OR COMMENT OUT' #lr_downscale: false #lr_downscale_types: ["linear", "bicubic", "nearest_aligned"] # Rotations augmentations: use_flip: true use_rot: true use_hrrot: true # Noise and blur augmentations: #lr_blur: true #lr_blur_types: {sinc: 0.2, iso: 0.2, ansio2: 0.4, sinc2: 0.2, clean: 3} #noise_data: 'K:/TRAINING/traiNNer/noise_patches/' #lr_noise: true #lr_noise_types: {camera: 0.1, jpeg: 0.8, clean: 3} #lr_noise2: false #lr_noise_types2: {jpeg: 1, webp: 0, clean: 2, camera: 2} #hr_noise: false #hr_noise_types: {gaussian: 1, clean: 4} # Color augmentations # lr_fringes: false # lr_fringes_chance: 0.4 # auto_levels: HR # rand_auto_levels: 0.7 #lr_unsharp_mask: true #lr_rand_unsharp: 0.7 # hr_unsharp_mask: true # hr_rand_unsharp: 1 # Augmentations for classification or (maybe) inpainting networks: # lr_cutout: false # lr_erasing: false #val: #name: val_set14_part #mode: aligned #dataroot_B: '../datasets/val/hr' #dataroot_A: '../datasets/val/lr' #znorm: false # Color space conversion: # color: 'y' # color_LR: 'y' # color_HR: 'y' path: root: '../' pretrain_model_G: '../experiments/pretrained_models/1x_DIV2K-Lite_SpongeBC1-Lite_interp.pth' # pretrain_model_D: 'K:/TRAINING/data/models/x1_ITF_SkinDiff2Nrm_Lite_v3_208500_D.pth' resume_state: '../experiments/x1_ITF_SkinDiffDetail_Lite_v1/training_state/latest.state' # Generator options: network_G: esrgan-lite # configurations for the Generator network # Discriminator options: network_D: # ESRGAN (default)| PPON: which_model_D: multiscale # discriminator_vgg_128 | discriminator_vgg | discriminator_vgg_128_fea (feature extraction) | patchgan | multiscale norm_type: batch act_type: leakyrelu mode: CNA # CNA | NAC nf: 32 in_nc: 3 nlayer: 3 # only for patchgan and multiscale num_D: 3 # only for multiscale train: # Optimizer options: optim_G: adamp optim_D: adamp # Schedulers options: lr_scheme: MultiStepLR lr_steps_rel: [50000, 100000, 200000, 300000] lr_gamma: 0.5 # For SWA scheduler swa_start_iter_rel: 0.05 swa_lr: 1e-4 swa_anneal_epochs: 10 swa_anneal_strategy: "cos" # Losses: pixel_criterion: l1 # pixel (content) loss pixel_weight: 0.05 feature_criterion: l1 # feature loss (VGG feature network) feature_weight: 0.3 cx_type: contextual # contextual loss cx_weight: 1 cx_vgg_layers: {conv_3_2: 1, conv_4_2: 1} #hfen_criterion: l1 # hfen #hfen_weight: 1e-6 #grad_type: grad-4d-l1 # image gradient loss #grad_weight: 4e-1 # tv_type: normal # total variation # tv_weight: 1e-5 # tv_norm: 1 ssim_type: ssim # structural similarity ssim_weight: 0.05 lpips_weight: 0.25 # [.25] perceptual loss lpips_type: net-lin lpips_net: squeeze # Experimental losses # spl_type: spl # spatial profile loss # spl_weight: 0.1 #of_type: overflow # overflow loss #of_weight: 0.1 # range_weight: 1 # range loss # fft_type: fft # FFT loss # fft_weight: 0.2 #[.2] color_criterion: color-l1cosinesim # color consistency loss color_weight: 0.1 # avg_criterion: avg-l1 # averaging downscale loss # avg_weight: 5 # ms_criterion: multiscale-l1 # multi-scale pixel loss # ms_weight: 1e-2 #fdpl_type: fdpl # frequency domain-based perceptual loss #fdpl_weight: 1e-3 # Adversarial loss: #gan_type: vanilla #gan_weight: 4e-3 # freeze_loc: 4 # For wgan-gp: # D_update_ratio: 1 # D_init_iters: 0 # gp_weigth: 10 # Feature matching (if using the discriminator_vgg_128_fea or discriminator_vgg_fea): # gan_featmaps: true # dis_feature_criterion: cb # discriminator feature loss # dis_feature_weight: 0.01 # For PPON: # p1_losses: [pix] # p2_losses: [pix-multiscale, ms-ssim] # p3_losses: [fea] # ppon_stages: [1000, 2000] # Differentiable Augmentation for Data-Efficient GAN Training # diffaug: true # dapolicy: 'color,transl_zoom,flip,rotate,cutout' # Batch (Mixup) augmentations #mixup: false #mixopts: [blend, rgb, mixup, cutmix, cutmixup] # , "cutout", "cutblur"] #mixprob: [1.0, 1.0, 1.0, 1.0, 1.0] #, 1.0, 1.0] #mixalpha: [0.6, 1.0, 1.2, 0.7, 0.7] #, 0.001, 0.7] #aux_mixprob: 1.0 #aux_mixalpha: 1.2 # mix_p: 1.2 # Frequency Separator #fs: true #lpf_type: average #hpf_type: average # Other training options: manual_seed: 0 niter: 250000 # warmup_iter: -1 #val_freq: 5e3 # overwrite_val_imgs: true # val_comparison: true # metrics: 'psnr,ssim,lpips' #grad_clip: auto #grad_clip_value: 0.1 # "auto" logger: print_freq: 50 save_checkpoint_freq: 500 overwrite_chkp: false