从小白到入门:使用Keras进行图像的基础分类

在这篇文章中,将解释一些在keras中经常需要的常见操作。首先,如何保存模型并使用它们进行预测,从数据集中显示图像并从加载系统中图像并预测其类别。

从小白到入门:使用Keras进行图像的基础分类

如果你还没有这样做,可以启动你的IDE跟着文章,一起来操作。

保存模型

训练模型是一个非常缓慢的过程,没有人希望每次都这样做,幸运的是,我们只需要训练我们的模型一次,保存,然后就可以随时加载,并用它来预测新的图像。

Keras将模型保存为h5格式,所以如果你在发布的第一个教程中跳过了h5py的安装,请运行:

从小白到入门:使用Keras进行图像的基础分类

我们还需要matplotlib来形象化我们的图像,因此,运行

从小白到入门:使用Keras进行图像的基础分类

这是第一个教程的代码:

从小白到入门:使用Keras进行图像的基础分类

从小白到入门:使用Keras进行图像的基础分类

了保存模型,只需在模型之后添加以下内容。

从小白到入门:使用Keras进行图像的基础分类

推理

推理是指使用我们的模型预测新图像的过程。

在你的代码中,标注出

从小白到入门:使用Keras进行图像的基础分类

取而代之的是下面的内容。

从小白到入门:使用Keras进行图像的基础分类

我们的代码现在是这样的。

从小白到入门:使用Keras进行图像的基础分类

从小白到入门:使用Keras进行图像的基础分类

我们在这里所做的是从保存的模型文件中加载模型的参数,评估函数在测试数据集上运行预测,并返回我们预测的准确性。

到目前为止,已经演示了如何保存模型并稍后使用它们进行预测,然而,这些都是无聊的事情,真正的协议是能够加载一个特定的图像,并确定它属于什么类别。

第一步是添加下面的代码以获得测试的特定图像的过程。

从小白到入门:使用Keras进行图像的基础分类

这里我们选择一个随机的图像,在这个例子中,从测试集的索引130中,我们创建了一个扁平的副本,它被重新塑造。

从小白到入门:使用Keras进行图像的基础分类

将这个副本加入到我们的模型中,接下来得到预测并打印出来。

在代码中注释掉model.evaluate,添加上面的代码并运行它。

你的输出应该是这样的:

从小白到入门:使用Keras进行图像的基础分类

现在已经有了预测,我们使用matplotlib来显示图像和它的预测类别。

从小白到入门:使用Keras进行图像的基础分类

这里的重塑操作是必要的,以使matplotlib显示图像

你的更新代码应该都是这样的

从小白到入门:使用Keras进行图像的基础分类

从小白到入门:使用Keras进行图像的基础分类

从小白到入门:使用Keras进行图像的基础分类

运行它,得到的输出应该是这个。比较简单,因为已经建立了一个基本的数字识别系统。

鼓励尝试不同的测试图像索引,可以亲自查看结果如何。

从小白到入门:使用Keras进行图像的基础分类

但是,如果想引入未包含在测试集中的图像,那么请将下面的图像保存到系统中,并将其复制到python文件所在的目录中。

从小白到入门:使用Keras进行图像的基础分类

运行下面的代码

从小白到入门:使用Keras进行图像的基础分类

从小白到入门:使用Keras进行图像的基础分类

从小白到入门:使用Keras进行图像的基础分类

你可能会注意到这里有一些新东西,首先是从keras.preprocessing导入图像。

接下来,我们加了

从小白到入门:使用Keras进行图像的基础分类

在第一行中,我们从磁盘加载图像,并指定它应该调整大小为28 x 28 x 1,请记住,这是原始mnist图像的尺寸,所以它的优点就是保持恒定。

接下来,我们将图像转换为一个像素数组,这就是全部。

运行它并自己检查结果,查看预测结果是否为3。

相关推荐