Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 预测输出无限重复_Python_Tensorflow - Fatal编程技术网

Python 预测输出无限重复

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.

我遵循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.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)))