Keras:TypeError与batch_size

Lar*_*rry 3 python machine-learning neural-network deep-learning keras

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

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'
Run Code Online (Sandbox Code Playgroud)

如果有人对出了什么问题有任何建议,我们将不胜感激。

作为参考,这是我的神经网络,看来工作正常。

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)
Run Code Online (Sandbox Code Playgroud)

非常感谢!

abc*_*ccd 5

您无需传入model参数model.predict,因为predict的默认设置是predict(self, x, batch_size=32, verbose=0)model自动定义self

所以您的代码应该像这样:

prediction = model.predict(x_test, batch_size = 32, verbose = 1)
Run Code Online (Sandbox Code Playgroud)

并且根据文档,x应该numpy.array不是list

参数:

x:输入数据,作为一个Numpy数组。

batch_size:整数。

verbose:详细模式,0或1。

这意味着x_test应该改为:

x_test = np.array([[8],[6],[0],[2],[0],[0],[0],[0],[112.128],[0],[0],[2],[0],[1],[1],[2],[2]])
Run Code Online (Sandbox Code Playgroud)