我仍在学习神经网络,坦白说,我也在学习 Python。这是我在 keras 中训练的基本神经网络:
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)
现在我猜我完全错误地使用了预测命令,有什么建议吗?
最佳答案
来自 keras 的文档:
predict(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)
关于neural-network - Keras 序列神经网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46134434/