Exemple #1
0
else:
    print('initializing generator weights')
    netG.initialize_weights()
#netG = torch.nn.Sequential(
#            Normalize(div2kmean, div2kstd),
#            netG,
#            DeNormalize(div2kmean, div2kstd),
#            )
print('# generator parameters:     ', sum(param.numel() for param in netG.parameters()))
netD = Discriminator()
if opt.discriminator_pretrain_path is not None:
    print('loading pretrained model at ' + opt.discriminator_pretrain_path)
    netD.load_state_dict(torch.load(opt.discriminator_pretrain_path))
else:
    print('initializing discriminator weights')
    netD.initialize_weights()
print('# discriminator parameters: ', sum(param.numel() for param in netD.parameters()))

generator_criterion = GeneratorLoss()
discriminator_criterion = nn.BCEWithLogitsLoss()

interpolation_layer = nn.functional.interpolate

if torch.cuda.is_available():
    netG.cuda()
    netD.cuda()
    generator_criterion.cuda()
    discriminator_criterion.cuda()
optimizerG = optim.Adam(netG.parameters(), lr=opt.lr_G)
if opt.generator_optim_pretrain_path is not None:
    print('loading pretrained model at ' + opt.generator_optim_pretrain_path)