繁体   English   中英

class如何在GAN判别器中再损失function?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM