Keras顺序神经网络

时间:2017-09-09 19:36:52

标签: neural-network keras

我还在学习神经网络和坦率的python。这是我在keras训练的基本NN:

from keras.models import Sequential
from keras.layers import Dense
import numpy
# fix random seed for reproducibility
numpy.random.seed(7)

# load pima indians dataset
dataset = numpy.loadtxt("Final_Data.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:,0:4]
Y = dataset[:,4]

# create model
model = Sequential()
model.add(Dense(3, input_dim=4, activation='sigmoid'))
model.add(Dense(1, activation='sigmoid'))

# Compile model
model.compile(loss='mean_squared_error', optimizer='sgd', metrics=['accuracy'])


# Fit the model
model.fit(X, Y, epochs=100, batch_size=400)

# evaluate the model
scores = model.evaluate(X, Y)
print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

如果我现在要提供自己的4个输入来查看神经网络的输出,命令会是什么样子?我认为这是model.predict命令,但当我在括号内给它4个输入时:

model.predict(0.72804878,0.784146341,0.792682927,0.801219512)

我回来了:

TypeError: predict() takes at most 4 arguments (5 given)

现在我猜我完全使用了预测命令错误,有什么建议吗?

1 个答案:

答案 0 :(得分:4)

来自keras的文档:

  

预测(self,x,batch_size = 32,verbose = 0)

这就是predict期待4个参数的原因。

x参数是您需要正确指定的参数。

在您的情况下,x需要是一个形状(1,4)的numpy数组,即示例数和每个示例的大小(特征向量大小)。

试试这个:

x = np.array([[0.72804878,0.784146341,0.792682927,0.801219512]])
model.predict(x)
相关问题