繁体   English   中英

为什么在GAN的判别器和生成器中得到nan损失值?

[英]why do i get nan loss value in training discriminator and generator of GAN?

我已经使用gensim库保存了文本向量,该库由一些负数组成。 会影响培训吗? 如果不是,那为什么在经过某些步骤的训练后,为什么我先得到鉴别器的nan损失值,然后再得到鉴别器和发电机的nan损失值?

NaN损失的原因有很多,模型也有所不同。 我见过的最常见的是:

  • 您的学习率太高 在这种情况下,损耗会增加,然后扩散到无穷大。
  • 您得到除以零的错误。 在这种情况下,您可以向输出概率中添加一个小数字,例如1e-8
  • 您的输入不正确 在这种情况下,请确保您不使用NaN来填充模型。 在输入数据上使用assert not np.any(np.isnan(x))
  • 您的标签不在目标函数的同一个域中 如果是这种情况,请检查标签范围并确保它们匹配。

如果以上方法均无济于事,请尝试检查激活功能,优化程序,丢失功能,网络的大小和形状。

最后,尽管可能性较小 ,但您使用的框架可能存在错误。 如果其他框架存在相同问题,请检查框架的仓库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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