在http://www.tensorflow.org/get_started中提供的示例中,如果我将输入乘以2
x_data = np.float32(np.random.rand(2, 100))*2
Run Code Online (Sandbox Code Playgroud)
我得到无意义的输出,而我期望获得相同的解决方案.
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]
Run Code Online (Sandbox Code Playgroud)
tensorflow如何处理不在0-1范围内的输入?
编辑:使用AdagradOptimizer
没有问题的作品.
小智 8
问题是该示例使用了非常积极的学习率:
optimizer = tf.train.GradientDescentOptimizer(0.5)
Run Code Online (Sandbox Code Playgroud)
这使得学习更快,但如果您稍微改变问题则停止工作.学习率0.01
更典型:
optimizer = tf.train.GradientDescentOptimizer(0.01)
Run Code Online (Sandbox Code Playgroud)
现在您的修改工作正常.:)