在http://www.tensorflow.org/get_started提供的示例中,如果我将输入乘以2
x_data = np.float32(np.random.rand(2, 100))*2
我得到无意义的输出,而我期望获得相同的解决方案。
0 [[ -67.06586456 -109.13352203]] [-7.67297792]
20 [[ nan nan]] [ nan]
40 [[ nan nan]] [ nan]
60 [[ nan nan]] [ nan]
80 [[ nan nan]] [ nan]
100 [[ nan nan]] [ nan]
120 [[ nan nan]] [ nan]
140 [[ nan nan]] [ nan]
160 [[ nan nan]] [ nan]
180 [[ nan nan]] [ nan]
200 [[ nan nan]] [ nan]
tensorflow如何处理不在0-1范围内的输入?
编辑:使用AdagradOptimizer
无问题地工作。
答案 0 :(得分:8)
问题在于该示例使用了非常积极的学习率:
optimizer = tf.train.GradientDescentOptimizer(0.5)
这样可以加快学习速度,但如果稍微改变一下问题就会停止工作。学习率0.01
更为典型:
optimizer = tf.train.GradientDescentOptimizer(0.01)
现在您的修改工作正常。 :)