epochs: 100
output_dir: tmp
checkpoints_dir: checkpoints
find_unused_parameters: True

model:
  name: MakeupModel
  generator:
    name: GeneratorPSGANAttention
    conv_dim: 64
    repeat_num: 6
  discriminator:
    name: NLayerDiscriminator
    ndf: 64
    n_layers: 3
    input_nc: 3
    norm_type: spectral
  cycle_criterion:
    name: L1Loss
  idt_criterion:
    name: L1Loss
    loss_weight: 0.5
  l1_criterion:
    name: L1Loss
  l2_criterion:
    name: MSELoss
  gan_criterion:
    name: GANLoss
    gan_mode: lsgan

dataset:
  train:
    name: MakeupDataset
    trans_size: 256
    dataroot: data/MT-Dataset
    cls_list: [non-makeup, makeup]
    phase: train
  test:
    name: MakeupDataset
    trans_size: 256
    dataroot: data/MT-Dataset
    cls_list: [non-makeup, makeup]
    phase: test


lr_scheduler:
  name: LinearDecay
  learning_rate: 0.0002
  start_epoch: 100
  decay_epochs: 100
  # will get from real dataset
  iters_per_epoch: 1

optimizer:
  optimizer_G:
    name: Adam
    net_names:
      - netG
    beta1: 0.5
  optimizer_DA:
    name: Adam
    net_names:
      - netD_A
    beta1: 0.5
  optimizer_DB:
    name: Adam
    net_names:
      - netD_B
    beta1: 0.5

log_config:
  interval: 10
  visiual_interval: 500

snapshot_config:
  interval: 5
