如何设置Numpy输入

时间:2017-07-24 10:20:53

标签: python numpy keras

self.model = Sequential()
self.model.add(Dense(units=20, input_dim=9))
self.model.add(Activation('relu'))
self.model.add(Dense(units=len(labels)))
self.model.add(Activation('softmax'))
self.model.compile(optimizer='sgd', #  rmsprop
                   loss='categorical_crossentropy',
                   metrics=['accuracy'])

x = np.array([[0] * 9])
print('x {} {}'.format(x.shape, x))
a = self.model.predict(x)

给出了

  

TypeError:只能将整数标量数组转换为标量索引

根本没有意义。

    x = np.array([0] * 9)
  

ValueError:检查时出错:期望的dense_1_input具有形状(无,9)但是具有形状的数组(9,1)

请帮助welp

1 个答案:

答案 0 :(得分:0)

我认为错误信息有点令人困惑,但解决方案很简单。如果您的输入数组的形状为(x, y, z),则预测的预期输入形状为(n, x, y, z),其中n是样本数(在您的情况下为1)。

只需使用

self.model.predict(x.reshape((1, ) + x.shape))