MCPcopy Create free account
hub / github.com/JunlinHan/DCLGAN / __init__

Method __init__

models/cut_model.py:46–82  ·  view source on GitHub ↗
(self, opt)

Source from the content-addressed store, hash-verified

44
45
46 def __init__(self, opt):
47 BaseModel.__init__(self, opt)
48
49 # specify the training losses you want to print out.
50 # The training/test scripts will call <BaseModel.get_current_losses>
51 self.loss_names = ['G_GAN', 'D_real', 'D_fake', 'G', 'NCE']
52 self.visual_names = ['real_A', 'fake_B', 'real_B']
53 self.nce_layers = [int(i) for i in self.opt.nce_layers.split(',')]
54
55 if opt.nce_idt and self.isTrain:
56 self.loss_names += ['NCE_Y']
57 self.visual_names += ['idt_B']
58
59 if self.isTrain:
60 self.model_names = ['G', 'F', 'D']
61 else: # during test time, only load G
62 self.model_names = ['G']
63
64 # define networks (both generator and discriminator)
65 self.netG = networks.define_G(opt.input_nc, opt.output_nc, opt.ngf, opt.netG, opt.normG, not opt.no_dropout, opt.init_type, opt.init_gain, opt.no_antialias, opt.no_antialias_up, self.gpu_ids, opt)
66 self.netF = networks.define_F(opt.input_nc, opt.netF, opt.normG, not opt.no_dropout, opt.init_type, opt.init_gain, opt.no_antialias, self.gpu_ids, opt)
67
68 if self.isTrain:
69 self.netD = networks.define_D(opt.output_nc, opt.ndf, opt.netD, opt.n_layers_D, opt.normD, opt.init_type, opt.init_gain, opt.no_antialias, self.gpu_ids, opt)
70
71 # define loss functions
72 self.criterionGAN = networks.GANLoss(opt.gan_mode).to(self.device)
73 self.criterionNCE = []
74
75 for nce_layer in self.nce_layers:
76 self.criterionNCE.append(PatchNCELoss2(opt).to(self.device))
77
78 self.criterionIdt = torch.nn.L1Loss().to(self.device)
79 self.optimizer_G = torch.optim.Adam(self.netG.parameters(), lr=opt.lr, betas=(opt.beta1, opt.beta2))
80 self.optimizer_D = torch.optim.Adam(self.netD.parameters(), lr=opt.lr, betas=(opt.beta1, opt.beta2))
81 self.optimizers.append(self.optimizer_G)
82 self.optimizers.append(self.optimizer_D)
83
84 def data_dependent_initialize(self, data):
85 """

Callers

nothing calls this directly

Calls 1

PatchNCELoss2Class · 0.85

Tested by

no test coverage detected