使用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()

代码解释:

  1. 加载测试数据: test_images, test_labels = next(test_generator) 从测试数据生成器中获取一批测试图片和它们的标签。
  2. 模型预测: predicted_labels = Model.predict(test_images) 使用训练好的模型对测试图片进行预测,得到预测标签。
  3. 创建画布: fig, ax = plt.subplots(4, 4, figsize=(12,12)) 创建一个4x4的画布,每个子图用于显示一张图片和其预测结果。
  4. 随机选择图片: index = np.random.randint(len(test_images)) 从测试图片集中随机选择一张图片。
  5. 显示图片和预测结果:
    • axis.imshow(image) 在子图上显示选择的图片。
    • axis.axis('off') 隐藏子图的坐标轴。
    • axis.set_title(...) 在子图上设置标题,显示实际标签和预测标签。
  6. 调整间距: plt.subplots_adjust(hspace=0.4) 调整子图之间的垂直间距。
  7. 显示结果: plt.show() 显示生成的图像。

代码中使用的参数:

  • test_generator: 测试数据生成器。
  • Model: 训练好的图像分类模型。
  • class_names: 图像分类的类别名称列表。

注意:

  • 为了运行代码,需要确保已经安装了matplotlib库。
  • 需要将代码中的 test_generatorModel 替换为实际的测试数据生成器和训练好的模型。
  • 可以根据需要调整代码中的参数,例如子图的大小和间距。

通过使用以上代码,可以方便地可视化图像分类模型的预测结果,帮助评估模型的性能。

图像分类模型预测结果可视化 - Python代码示例

原文地址: https://www.cveoy.top/t/topic/pdUa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录