Pierrotlc's group workspace
Group: PokeGAN - Finetuning
Name
10 visualized
State
Notes
User
Tags
Created
Runtime
Sweep
batch_size
betas_d
betas_g
device
dim_image
dim_z
dropout
epochs
iter_D
lr_d
lr_g
n_channels
n_first_channels
n_layers_d_block
n_layers_z
netD
netG
optimD
optimG
seed
test_loader
train_loader
weight_GP
weight_err_d_real
data_cfg.dim_image
data_cfg.path
dataloader
discriminator_cfg.betas
discriminator_cfg.dropout
discriminator_cfg.gamma
discriminator_cfg.lr
discriminator_cfg.n_channels
discriminator_cfg.n_layers_d_block
discriminator_cfg.running_avg_factor
discriminator_cfg.weight_avg_factor
gamma_d
gamma_g
generator_cfg.betas
generator_cfg.dim_z
generator_cfg.dropout
generator_cfg.gamma
generator_cfg.lr
generator_cfg.n_channels
generator_cfg.n_layers_block
Finished
-
pierrotlc
2h 49m 1s
-
64
[0.5,0.99]
[0.5,0.8]
cuda
64
32
0.3
500
-
0.0001
0.0005
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 0.0001
lr: 0.0001
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.8)
eps: 1e-08
initial_lr: 0.0005
lr: 0.0005
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f7de443d970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
3m 23s
-
64
[0.5,0.99]
[0.5,0.7]
cuda
64
32
0.3
5
-
0.0001
0.0005
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 0.0001
lr: 0.0001
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.7)
eps: 1e-08
initial_lr: 0.0005
lr: 0.0005
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f45b41b5970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
3m 21s
-
64
[0.5,0.9]
[0.5,0.5]
cuda
64
32
0.3
5
-
0.00001
0.0001
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.9)
eps: 1e-08
initial_lr: 1e-05
lr: 1e-05
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.5)
eps: 1e-08
initial_lr: 0.0001
lr: 0.0001
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f4c3c1b5970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
3m 20s
-
64
[0.5,0.99]
[0.5,0.99]
cuda
64
32
0.3
5
-
0.00001
0.0001
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 1e-05
lr: 1e-05
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 0.0001
lr: 0.0001
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f57bc060970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
3m 21s
-
64
[0.5,0.99]
[0.5,0.99]
cuda
64
32
0.3
5
-
0.00001
0.0005
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 1e-05
lr: 1e-05
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 0.0005
lr: 0.0005
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f477011c970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
3m 23s
-
64
[0.5,0.99]
[0.5,0.99]
cuda
64
32
0.3
5
-
0.0001
0.0005
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 0.0001
lr: 0.0001
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 0.0005
lr: 0.0005
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f44cc5e7970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
34m 8s
-
64
[0.5,0.99]
[0.5,0.5]
cuda
64
32
0.3
100
-
0.0001
0.0005
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 0.0001
lr: 0.0001
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.5)
eps: 1e-08
initial_lr: 0.0005
lr: 0.0005
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7fc9d00ca970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
34m 32s
-
64
[0.5,0.99]
[0.5,0.5]
cuda
64
32
0.3
100
-
0.00001
0.00005
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 1e-05
lr: 1e-05
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.5)
eps: 1e-08
initial_lr: 5e-05
lr: 5e-05
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f1c98118970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
11m 45s
-
64
[0.5,0.99]
[0.5,0.5]
cuda
64
32
0.3
30
-
0.00001
0.00005
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 1e-05
lr: 1e-05
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.5)
eps: 1e-08
initial_lr: 5e-05
lr: 5e-05
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7f45c010b970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
Finished
-
pierrotlc
4m 42s
-
92
[0.5,0.99]
[0.5,0.5]
cuda
64
32
0.3
10
-
0.00001
0.00001
512
12
5
4
Discriminator(
(first_conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(3, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(blocks): ModuleList(
(0): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(12, 12, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((12, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(12, 24, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(1): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((24, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(24, 48, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(2): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(48, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((48, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(48, 96, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(3): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(96, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((96, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(96, 192, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(4): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((192, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(192, 384, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
(5): DiscriminatorBlock(
(convs): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(4): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(2): LayerNorm((384, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(downsample): Conv2d(384, 768, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
)
)
(classify): Sequential(
(0): Conv2d(768, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(1): Flatten(start_dim=1, end_dim=-1)
)
)
StyleGAN(
(mapping): MappingNetwork(
(norm): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(layers): ModuleList(
(0): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
(3): Sequential(
(0): Linear(in_features=32, out_features=32, bias=True)
(1): LayerNorm((32,), eps=1e-05, elementwise_affine=True)
(2): LeakyReLU(negative_slope=0.01)
)
)
(out): Linear(in_features=32, out_features=32, bias=True)
)
(synthesis): SynthesisNetwork(
(blocks): ModuleList(
(0): SynthesisBlock(
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((512, 2, 2), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=1024, bias=True)
(A2): Linear(in_features=32, out_features=1024, bias=True)
(B1): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(1): SynthesisBlock(
(upsample): ConvTranspose2d(512, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((256, 4, 4), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=512, bias=True)
(A2): Linear(in_features=32, out_features=512, bias=True)
(B1): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(2): SynthesisBlock(
(upsample): ConvTranspose2d(256, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((128, 8, 8), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=256, bias=True)
(A2): Linear(in_features=32, out_features=256, bias=True)
(B1): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(3): SynthesisBlock(
(upsample): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((64, 16, 16), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=128, bias=True)
(A2): Linear(in_features=32, out_features=128, bias=True)
(B1): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(4): SynthesisBlock(
(upsample): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((32, 32, 32), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=64, bias=True)
(A2): Linear(in_features=32, out_features=64, bias=True)
(B1): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(5): SynthesisBlock(
(upsample): ConvTranspose2d(32, 16, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))
(conv): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(layers): ModuleList(
(0): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(1): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
(2): Sequential(
(0): Dropout(p=0.3, inplace=False)
(1): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(2): LayerNorm((16, 64, 64), eps=1e-05, elementwise_affine=True)
(3): LeakyReLU(negative_slope=0.01)
)
)
(ada_in): AdaIN()
(A1): Linear(in_features=32, out_features=32, bias=True)
(A2): Linear(in_features=32, out_features=32, bias=True)
(B1): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(B2): Conv2d(10, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(to_rgb): Conv2d(16, 3, kernel_size=(1, 1), stride=(1, 1))
)
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.99)
eps: 1e-08
initial_lr: 1e-05
lr: 1e-05
weight_decay: 0
)
Adam (
Parameter Group 0
amsgrad: False
betas: (0.5, 0.5)
eps: 1e-08
initial_lr: 1e-05
lr: 1e-05
weight_decay: 0
)
0
-
-
-
-
-
-
<torch.utils.data.dataloader.DataLoader object at 0x7fb9e00da970>
-
-
-
-
-
-
-
-
0.1
0.1
-
-
-
-
-
-
-
1-10
of 10