我正在尝试使用从文件加载的训练有素的Keras模型为单个数据点predict()
d
输出。但是我得到ValueError If predicting from data tensors, you should specify the 'step' argument.
是什么意思?
我尝试设置step=1
,但是随后出现另一个错误ValueError: Cannot feed value of shape () for Tensor u'input_1:0', which has shape '(?, 600)'
。
这是我的代码:
d = np.concatenate((hidden[p[i]], hidden[x[i]])).resize((1,600))
hidden[p[i]] = autoencoder.predict(d,steps=)
该模型期望输入(?,600)
。我已将两个numpy
的两个shape (300,)
数组连接起来,得到(600,)
,其大小已调整为(1,600)
。 (1,600)
是我对predict()
的输入。
答案 0 :(得分:2)
在我的情况下,要预测的输入是None
(因为我在代码的另一部分中有错误)。
答案 1 :(得分:1)
->定义steps参数的值
d = np.concatenate((hidden[p[i]],
hidden[x[i]])).resize((1,600))
hidden[p[i]] = autoencoder.predict(d,steps=1)
答案 2 :(得分:1)
如果您使用的是测试数据生成器,则最好按照文档中的说明定义步骤。
如果要预测单个实例,则无需定义步骤。只需确保参数(即实例'd')不为None,否则将显示该错误。一些重塑可能也是必要的。
答案 3 :(得分:0)
在官方文档中,步骤是指停止之前的步骤总数。因此,步骤= 1意味着对一批进行预测,而不是对一条记录(单个数据点)进行预测。
答案 4 :(得分:0)
在我的情况下,我遇到了同样的错误,我只是使用numpy函数reshape()将数据重塑为预测模型最初使用的数据形状。