以下,分为生成器和分类器的损失函数分别进行说明。
1 .生成器(generator )的损失函数)生成器的损耗函数由对抗损耗和像素损耗构成。
defbackward_g(self ) : ' ' calculateganandl1lossforthegenerator ' ' #1.对抗损失,g(a ) shouldfakethediscriminatorfor 1 ) pred_fake=self.netd(fake_ab ) self.loss _ g _ gan=self.criterion gan (pred _ fake,True ) )2.像素self.real_B ) self.opt.lambda _ L1 # combinelossandcalculategradientsself.loss _ g=self.loss _ g _ ganse Lala
efbackward_d(self ) : ' ' calculateganlossforthediscriminator ' ' # fake; 后半部分,stopbackproptothegeneratorbydetachingfake _ b fake _ ab=torch.cat ((self.real _ a,self.fake_B ),1 ) false(## Real :上半场的real_ab=torch.cat ) (self.real_B,self.real_B,1 ) pred_real=self.netd )