tensorflow NAN常见原因和解决方法:https://blog.csdn.net/suranxu007/article/details/87266191
在卷积神经网络训练过程中loss出现NaN的原因以及可以采取的方法: https://blog.csdn.net/weixin_39092218/article/details/72915906
Tensorflow:TensorFlow中的Nan值的陷阱: https://blog.csdn.net/qq_38906523/article/details/79097699
Nan in summary histogram: https://blog.csdn.net/v1_vivian/article/details/77991894
1、减小学习率
2、L2正则化(权重衰减)
- tf.get_variable 这个函数中有一个命名参数为 regularizer:https://blog.csdn.net/u010185894/article/details/71105639
- tf.add_to_collection(): https://www.cnblogs.com/hellcat/p/9474393.html
def get_weights(shape, lambd):
var = tf.Variable(tf.random_normal(shape), dtype=tf.float32)
tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(lambd)(var))
return var
- tf.contrib.layers.apply_regularization(regularizer, weights_list=None)
- 使用slim
with slim.arg_scope([slim.conv2d, slim.fully_connected],
activation_fn=tf.nn.relu,
weights_regularizer=slim.l2_regularizer(weight_decay)):
pass