【发布时间】:2018-07-26 15:42:51
【问题描述】:
我编写了一个 CNN 1-D,但在执行 model.predict_classes(X) 命令时,所有返回的类都是相同的。返回示例在以下屏幕中。为什么所有预测的类都返回相等?我已经把输入改成不同的了,结果还是一样的。
model = ke.models.Sequential()
nbfeatures=5
model.add(Conv1D(filters=2,kernel_size=2,input_shape=(nbfeatures, 1),activation = 'relu'))
model.add(Conv1D(filters=2,kernel_size=2))
model.add( MaxPool1D(pool_size=2))
model.add( Flatten())
model.add(Dropout(0.4))
model.add( Dense(2))
model.add(Activation('softmax'))
sgd = optimizers.SGD(lr=0.01, nesterov=True, decay=1e-6, momentum=0.9)
model.compile(loss='sparse_categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
# get some data
#X = np.expand_dims(np.random.randn(1000, 5), axis=2)
X = np.expand_dims([[1,2,3,4,5],[1,1,1,1,1],[1,2,3,4,5],[1,2,3,4,5], [1,2,3,4,5],[1,1,1,1,1],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]], axis=2)
#y = [np.random.randint(0,2) for p in range(0,10)]
y=[[1],[0],[1],[1],[1],[0],[1],[1],[1],[1]]
y=np.array(y)
y = np.reshape(np.array(y), (y.shape[0],1))
# fit model
model.fit(X, y,batch_size=5, epochs=3, verbose=1)
predictions = model.predict(X)
Y_predict = model.predict_classes(X)
【问题讨论】:
标签: machine-learning neural-network keras output conv-neural-network