我正在使用Keras(使用Python 3.6)来预测数组的输出(x_test),但我得到了一个TypeError。
这是我的预测代码:
x_test = [[8],[6],[0],[2],[0],[0],[0],[0],[112.128],[0],[0],[2],[0],[1],[1],[2],[2]]
prediction = model.predict(model, x_test, batch_size = 32, verbose = 1)
这是我得到的错误:
TypeError Traceback (most recent call last)
<ipython-input-14-286495dc15a7> in <module>()
1 x_test = [[8],[6],[0],[2],[0],[0],[0],[0],[112.128],[0],[0],[2],[0],[1],[1],[2],[2]]
2
----> 3 prediction = model.predict(model, x_test, batch_size =(17,1), verbose = 1)
TypeError: predict() got multiple values for argument 'batch_size'
如果有人对出了什么问题有任何建议,我们非常感谢任何帮助。
作为参考,这是我的神经网络,似乎工作正常。
model = Sequential()
model.add(Dense(32, input_dim=17, init='uniform', activation='relu' ))
model.add(Dense(64, init='uniform', activation='relu'))
model.add(Dense(128, init='uniform', activation='relu'))
model.add(Dense(64, init='uniform', activation='sigmoid'))
model.add(Dense(32, init='uniform', activation='sigmoid'))
model.add(Dense(16, init='uniform', activation='sigmoid'))
model.add(Dense(8, init='uniform', activation='sigmoid'))
model.add(Dense(4, init='uniform', activation='sigmoid'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
# Compile model
model.compile(loss='mean_squared_logarithmic_error', optimizer='SGD', metrics=['accuracy'])
# Fit model
history = model.fit(X, Y, nb_epoch=300, validation_split=0.2, batch_size=3)
非常感谢!
答案 0 :(得分:4)
您不需要在model
中传递model.predict
参数,因为预测的默认值为predict(self, x, batch_size=32, verbose=0)
model
由{{1}自动定义}}。
所以你的代码应该就像:
self
根据文档,prediction = model.predict(x_test, batch_size = 32, verbose = 1)
应该是x
而不是numpy.array
。
参数:
x:输入数据,作为Numpy数组。
batch_size:整数。
详细:详细模式,0或1。
这意味着list
应改为:
x_test
答案 1 :(得分:0)
prediction = model.predict(x_test, batch_size = 32, verbose = 1)