10 类图像分类模型预测结果可视化
10 类图像分类模型预测结果可视化
本示例展示如何使用 Python 代码可视化 10 类图像分类模型的预测结果。
test_images, test_labels = next(validation_generator)
predicted_labels = model.predict(test_images)
# 随机选择 15 张图片,并展示它们的预测结果
fig, ax = plt.subplots(3, 5, figsize=(12, 8))
fig.suptitle('Random Test Images with Predictions', fontsize=16)
for i, axis in enumerate(ax.flat):
index = np.random.randint(len(test_images))
image = test_images[index]
label = test_labels[index].argmax(axis=-1)
predicted_label = predicted_labels[index].argmax(axis=-1)
# 显示图片和它的预测标签
axis.imshow(image)
axis.axis('off')
class_names =['cane', 'cavallo', 'elefante', 'farfalla', 'gallina', 'gatto', 'mucca', 'pecora', 'ragno', 'scoiattolo']
# 显示原始图像以及它的实际标签和模型预测的标签
axis.set_title('Actual: ' + class_names[label] + '\nPredicted: ' + class_names[predicted_label])
plt.show()
代码解释:
test_images, test_labels = next(validation_generator):获取一批测试数据。predicted_labels = model.predict(test_images):使用模型对测试数据进行预测。fig, ax = plt.subplots(3, 5, figsize=(12, 8)):创建画布,用于展示图片。for i, axis in enumerate(ax.flat):循环遍历画布上的每个子图。index = np.random.randint(len(test_images)):随机选择一张测试图片。image = test_images[index]:获取图片数据。label = test_labels[index].argmax(axis=-1):获取图片的实际标签。predicted_label = predicted_labels[index].argmax(axis=-1):获取图片的预测标签。axis.imshow(image):在子图上展示图片。axis.axis('off'):隐藏子图坐标轴。axis.set_title('Actual: ' + class_names[label] + '\nPredicted: ' + class_names[predicted_label]):在子图上显示图片的实际标签和预测标签。
运行代码后,将会展示 15 张随机选择的测试图片,以及它们的实际标签和模型预测的标签。
原文地址: https://www.cveoy.top/t/topic/o8Rt 著作权归作者所有。请勿转载和采集!