Skip to content

VAE-GAN with Adoptive Beta

Compare
Choose a tag to compare
@moto-hellomoto-ai moto-hellomoto-ai released this 24 May 04:09
4cc2090

This model is at Epoch 30, where it's GAN part starts to collapse.

The detail can be found here

Model: VaeGan(
  (vae): VAE(
    (encoder): Encoder(
      (convs): Sequential(
        (0): EncoderBlock(
          (0): ReflectionPad2d((2, 2, 2, 2))
          (1): Conv2d(3, 64, kernel_size=(5, 5), stride=(2, 2), bias=False)
          (2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (3): ReLU()
        )
        (1): EncoderBlock(
          (0): ReflectionPad2d((2, 2, 2, 2))
          (1): Conv2d(64, 128, kernel_size=(5, 5), stride=(2, 2), bias=False)
          (2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (3): ReLU()
        )
        (2): EncoderBlock(
          (0): ReflectionPad2d((2, 2, 2, 2))
          (1): Conv2d(128, 256, kernel_size=(5, 5), stride=(2, 2), bias=False)
          (2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (3): ReLU()
        )
      )
      (map): Linear(in_features=36864, out_features=2048, bias=True)
    )
    (decoder): Decoder(
      (map): Linear(in_features=1024, out_features=36864, bias=True)
      (convs): Sequential(
        (0): DecoderBlock(
          (0): ConvTranspose2d(256, 256, kernel_size=(5, 5), stride=(2, 2), padding=(2, 2), bias=False)
          (1): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False)
          (2): LeakyReLU(negative_slope=0.01)
        )
        (1): DecoderBlock(
          (0): ConvTranspose2d(256, 128, kernel_size=(5, 5), stride=(2, 2), padding=(2, 2), bias=False)
          (1): InstanceNorm2d(128, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False)
          (2): LeakyReLU(negative_slope=0.01)
        )
        (2): DecoderBlock(
          (0): ConvTranspose2d(128, 64, kernel_size=(5, 5), stride=(2, 2), padding=(2, 2), bias=False)
          (1): InstanceNorm2d(64, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False)
          (2): LeakyReLU(negative_slope=0.01)
        )
        (3): ReflectionPad2d((2, 2, 2, 2))
        (4): Conv2d(64, 3, kernel_size=(5, 5), stride=(1, 1))
      )
    )
  )
  (discriminator): Discriminator(
    (convs): Sequential(
      (0): ReflectionPad2d((2, 2, 2, 2))
      (1): Conv2d(3, 32, kernel_size=(5, 5), stride=(1, 1))
      (2): ReflectionPad2d((2, 2, 2, 2))
      (3): Conv2d(32, 128, kernel_size=(5, 5), stride=(2, 2))
      (4): ReflectionPad2d((2, 2, 2, 2))
      (5): Conv2d(128, 256, kernel_size=(5, 5), stride=(2, 2))
      (6): ReflectionPad2d((2, 2, 2, 2))
      (7): Conv2d(256, 256, kernel_size=(5, 5), stride=(2, 2))
    )
    (fc): Sequential(
      (0): Linear(in_features=36864, out_features=512, bias=True)
      (1): ReLU(inplace)
      (2): Linear(in_features=512, out_features=1, bias=True)
      (3): Sigmoid()
    )
  )
)
Initial Beta: 10.0
Beta Step: 0.1
Target KLD: 0.1