keras 中 model.predect() 与model.predict_classes()的区别
前言
今天在写程序的时候,发现keras中model.predict()与model.predict_classes()返回的结果不一样,在此记录。
我训练的时候使用的class_mode=‘binary’,所以是one-hot编码,代码如下:
y = model.predict_classes(x)
y_2 = model.predict(x)
y_2_pre = np.argmax(y_2, axis=1) # axis = 1是取行的最大值的索引,0是列的最大值的索引
print(y)
print(y_2)
print(y_2_pre)
[[1]]
[[0.6272421]]
[0]
model.predict_classes(test)预测的是类别,打印出来的值就是类别号;
model.predict(test)预测的是数值,而且输出的还是1个编码值,而且是实数,预测后要经过argmax(predict_test,axis=1)后得到类别的序列。