图像分类模型预测结果可视化 - Python代码示例
使用Python代码可视化图像分类模型的预测结果
本示例代码展示了如何使用Python的matplotlib库可视化图像分类模型的预测结果,展示随机选择的测试图片及其实际标签和预测标签。
test_images, test_labels = next(test_generator)
predicted_labels = Model.predict(test_images)
fig, ax = plt.subplots(4, 4, figsize=(12,12))
fig.suptitle('Random Test Images with Predictions')
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: {}
Predicted: {}'.format(class_names[label], class_names[predicted_label]), fontsize=8)
plt.subplots_adjust(hspace=0.4)
plt.show()
代码解释:
- 加载测试数据:
test_images, test_labels = next(test_generator)从测试数据生成器中获取一批测试图片和它们的标签。 - 模型预测:
predicted_labels = Model.predict(test_images)使用训练好的模型对测试图片进行预测,得到预测标签。 - 创建画布:
fig, ax = plt.subplots(4, 4, figsize=(12,12))创建一个4x4的画布,每个子图用于显示一张图片和其预测结果。 - 随机选择图片:
index = np.random.randint(len(test_images))从测试图片集中随机选择一张图片。 - 显示图片和预测结果:
axis.imshow(image)在子图上显示选择的图片。axis.axis('off')隐藏子图的坐标轴。axis.set_title(...)在子图上设置标题,显示实际标签和预测标签。
- 调整间距:
plt.subplots_adjust(hspace=0.4)调整子图之间的垂直间距。 - 显示结果:
plt.show()显示生成的图像。
代码中使用的参数:
test_generator: 测试数据生成器。Model: 训练好的图像分类模型。class_names: 图像分类的类别名称列表。
注意:
- 为了运行代码,需要确保已经安装了matplotlib库。
- 需要将代码中的
test_generator和Model替换为实际的测试数据生成器和训练好的模型。 - 可以根据需要调整代码中的参数,例如子图的大小和间距。
通过使用以上代码,可以方便地可视化图像分类模型的预测结果,帮助评估模型的性能。
原文地址: https://www.cveoy.top/t/topic/pdUa 著作权归作者所有。请勿转载和采集!