epochs: 200
output_dir: output_dir

model:
  name: DCGANModel
  generator:
    name: DCGenerator
    norm_type: batch
    input_nz: 100
    input_nc: 1
    output_nc: 1
    ngf: 64
  discriminator:
    name: DCDiscriminator
    norm_type: batch
    ndf: 64
    input_nc: 1
  gan_criterion:
    name: GANLoss
    gan_mode: vanilla

dataset:
  train:
    name: CommonVisionDataset
    dataset_name: MNIST
    num_workers: 0
    batch_size: 128
    return_label: False
    transforms:
      - name: Resize
        size: [64, 64]
        interpolation: 'bicubic' #cv2.INTER_CUBIC
      - name: Normalize
        mean: [127.5]
        std: [127.5]
        keys: [image]
  test:
    name: CommonVisionDataset
    dataset_name: MNIST
    num_workers: 0
    batch_size: 128
    return_label: False
    transforms:
      - name: Resize
        size: [64, 64]
        interpolation: 'bicubic' #cv2.INTER_CUBIC
      - name: Normalize
        mean: [127.5]
        std: [127.5]
        keys: [image]

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_D:
    name: Adam
    net_names:
      - netD
    beta1: 0.5

log_config:
  interval: 100
  visiual_interval: 500

snapshot_config:
  interval: 5
