标签: tensorflow keras
我注意到,当使用FP16在Keras中训练顺序模型时,mse作为损失函数,adam作为优化器;损失无法计算,我得到一个nan值。
mse
adam
nan
使用FP32或使用FP16更改优化器时没有问题(我同时尝试了adamax和sgd)。我在使用adam的过程中是否缺少某些东西?
有一个代码段here
答案 0 :(得分:1)
只需尝试将epsilon设置为更大的值:
keras.backend.set_epsilon(1e-4)
对于eps16计算,默认epsilon可能太小。