keras 中 model.predect() 与model.predict_classes()的区别

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)后得到类别的序列。


上一篇:Facebook detectron2训练faster rcnn


下一篇:Collection And Map Introduction