Python 预测输出无限重复
我遵循tensorflow.org上生成输入函数的步骤 在我尝试打印预测之前,一切都正常(应该只有6个预测) 我得到这个输出:Python 预测输出无限重复,python,tensorflow,Python,Tensorflow,我遵循tensorflow.org上生成输入函数的步骤 在我尝试打印预测之前,一切都正常(应该只有6个预测) 我得到这个输出: 如果我尝试将生成器转换为具有list(y)的列表。程序冻结 如果我尝试只获取前30项(即使只有6项): 我得到以下信息: [34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254, 34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.
如果我尝试将生成器转换为具有list(y)
的列表。程序冻结
如果我尝试只获取前30项(即使只有6项):
我得到以下信息:
[34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254]
正如你所看到的,它是无限重复的值
我错过什么了吗
Tensorflow版本:0.12.0-rc1
Python版本:2.7.6我们最近修订了“使用tf.contrib.learn构建输入函数”教程,使之与估计器中predict()的最新默认行为保持一致,该行为返回一个生成器。修订后的教程文本如下:
最新代码如下:
下面是相关部分,它使用itertools.islice,与您上次尝试时一样:
y = regressor.predict(input_fn=lambda: input_fn(prediction_set))
# .predict() returns an iterator; convert to a list and print predictions
predictions = list(itertools.islice(y, 6))
print("Predictions: {}".format(str(predictions)))
当islice的第二个参数增加到30时,我没有看到预测值重复的行为。您可以尝试在上面的链接中从GitHub获取最新的代码,并告诉我您是否仍然遇到此问题吗?从下载了代码,如果我将参数增加到islice,我仍然会得到相同的结果。带10:[33.596405,18.607161,21.850567,33.849072,16.530201,18.338963,33.596405,18.607161,21.850567,33.849072]
[34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254,
34.382435, 20.170452, 23.214834, 37.211243, 17.090082, 19.648254]
y = regressor.predict(input_fn=lambda: input_fn(prediction_set))
# .predict() returns an iterator; convert to a list and print predictions
predictions = list(itertools.islice(y, 6))
print("Predictions: {}".format(str(predictions)))