如何处理张量流中0-1范围外的输入?

时间:2015-11-09 16:43:22

标签: python tensorflow

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无问题地工作。

1 个答案:

答案 0 :(得分:8)

问题在于该示例使用了非常积极的学习率:

optimizer = tf.train.GradientDescentOptimizer(0.5)

这样可以加快学习速度,但如果稍微改变一下问题就会停止工作。学习率0.01更为典型:

optimizer = tf.train.GradientDescentOptimizer(0.01)

现在您的修改工作正常。 :)