![](/img/trans.png)
[英]Custom Keras loss function with Keras by discriminator with Gan neural network
[英]How to class another loss function in GAN discriminator?
我对 GAN 很感兴趣。 我尝试通过以下方法调整 DCGAN 的鉴别器: https://github.com/vasily789/adaptive-weighted-gans/blob/main/aw_loss.py哪个名称是 aw 方法。 所以我在 kaggle( https://www.kaggle.com/vatsalmavani/deep-convolutional-gan-in-pytorch ) 中找到了一个 DCGAN 代码,并尝试通过 class aw_loss 编辑鉴别器。
这是我的代码:
https://colab.research.google.com/drive/1AsZztd0Af0UMzBXXkI9QKQZhAUoK01bk?usp=sharing
看来我不能正确地 class aw 损失。 因为我训练的时候判别器的loss还是0。 任何人都可以帮助我。 请!
在您提供的代码中,它在尝试使用aw_method()
时确实显示了正确的错误,您应该首先实例化 class ,如下所示,之后您应该能够调用该方法。
aw_instance = aw_method()
aw_loss = aw_instance.aw_loss(D_real_loss, D_fake_loss, D_opt, D)
请注意,我们使用的是 class 的默认参数,不太熟悉 aw 损失来告诉您是否应该调整它。
关于鉴别器的损失,正确的代码依赖于aw_cost
来工作。 您似乎并没有同时提供真实和虚假的损失,因此鉴别器仅学习到 output 1 或 0(可以通过打印这些值或使用 wandb 或类似工具进行监控来轻松验证)。 go 再次没有足够深入地了解 aw 损失的算法,因此请专门检查一下。
也可以尝试作为正常D_loss = (D_fake_loss + D_real_loss + aw_loss) / 3
的线性组合进行测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.