TensorFlow:为什么在运行GradientDescentOptimizer训练步骤时参数不会更新?

时间:2017-04-19 23:23:37

标签: tensorflow

当我运行以下代码时,它会在每个训练步骤中打印出一个恒定的损失;我也试过打印参数,也没有改变。 我似乎无法弄清楚为什么使用train_step的{​​{1}}不会改变W_fc1,b_fc1,W_fc2和b_fc2中的权重。 我是机器学习的初学者,所以我可能会遗漏一些明显的东西。 (类似问题的答案是权重不应该初始化为零,但这里的权重是用截断的法线初始化的,因此无法解决问题)。

GradientDescentOptimizer

提前致谢。

1 个答案:

答案 0 :(得分:0)

来自官方张量流documentation

  

警告:此操作需要未缩放的日志,因为它会在内部执行logmax以提高效率。不要使用softmax的输出调用此op,因为它会产生不正确的结果。

在将{soft}输入tf.nn.softmax_cross_entropy_with_logits

之前删除y上的softmax

同时将您的学习率设置为更高(例如3e-4)