model.predict(X_test, batch_size=32,verbose=1)

参数解析:

X_test:为即将要预测的测试集

batch_size:为一次性输入多少张图片给网络进行训练,最后输入图片的总数为测试集的个数

verbose:1代表显示进度条,0不显示进度条,默认为0

返回值:每个测试集的所预测的各个类别的概率

示例:

# 各个类别评估(X_test为10000个数据集)
print("[INFO] evaluating network...")
predictions = model.predict(X_test, batch_size=32) #显示每一个测试集各个类别的概率,这个值的shape为(10000,10)
print(predictions)
print(predictions.shape)

结果: 

可以看出model.predict(X_test, batch_size=32)的返回值为每个测试集预测的10个类别的概率

所以最后输出的shape为(10000,10)

如果想要获得每个测试集预测的类别,而不是每个类别的概率,可以如下操作

import numpy as np
predictions = model.predict(X_test, batch_size=32)
y_test_pred = np.argmax(predictions, axis=1)

注意:axis值为你要转换的行(axis=1从每一行找出最大数值的下标,
axis=0从每一列找出最大数值的下标),而且输出为一维数据,即每个样本对应一个类别值

 np.argmax(x,axis=1)函数,默认axis=1

axis=1从x的每一行中找出最大数值的下标,(这里下标代表类别)
axis=0从x的每一列找出最大数值的下标

model.predict_classes(X_test,batch_size=32,verbose=1)函数

参数解析:

X_test:为即将要预测的测试集

batch_size:为一次性输入多少张图片给网络进行训练,最后输入图片的总数为测试集的个数

verbose:1代表显示进度条,0不显示进度条,默认为0

返回值:每个测试集的预测的类别(即下标)

等价于上面的两组语句

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐