【IT168 资讯】在这篇文章中,将解释一些在keras中经常需要的常见操作。首先,如何保存模型并使用它们进行预测,从数据集中显示图像并从加载系统中图像并预测其类别。
如果你还没有这样做,可以启动你的IDE跟着文章,一起来操作。
保存模型
训练模型是一个非常缓慢的过程,没有人希望每次都这样做,幸运的是,我们只需要训练我们的模型一次,保存,然后就可以随时加载,并用它来预测新的图像。
Keras将模型保存为h5格式,所以如果你在发布的第一个教程中跳过了h5py的安装,请运行:
我们还需要matplotlib来形象化我们的图像,因此,运行
这是第一个教程的代码:
了保存模型,只需在模型之后添加以下内容。
推理
推理是指使用我们的模型预测新图像的过程。
在你的代码中,标注出
取而代之的是下面的内容。
我们的代码现在是这样的。
我们在这里所做的是从保存的模型文件中加载模型的参数,评估函数在测试数据集上运行预测,并返回我们预测的准确性。
到目前为止,已经演示了如何保存模型并稍后使用它们进行预测,然而,这些都是无聊的事情,真正的协议是能够加载一个特定的图像,并确定它属于什么类别。
第一步是添加下面的代码以获得测试的特定图像的过程。
这里我们选择一个随机的图像,在这个例子中,从测试集的索引130中,我们创建了一个扁平的副本,它被重新塑造。
将这个副本加入到我们的模型中,接下来得到预测并打印出来。
在代码中注释掉model.evaluate,添加上面的代码并运行它。
你的输出应该是这样的:
现在已经有了预测,我们使用matplotlib来显示图像和它的预测类别。
这里的重塑操作是必要的,以使matplotlib显示图像
你的更新代码应该都是这样的
运行它,得到的输出应该是这个。比较简单,因为已经建立了一个基本的数字识别系统。
鼓励尝试不同的测试图像索引,可以亲自查看结果如何。
但是,如果想引入未包含在测试集中的图像,那么请将下面的图像保存到系统中,并将其复制到python文件所在的目录中。
运行下面的代码
你可能会注意到这里有一些新东西,首先是从keras.preprocessing导入图像。
接下来,我们加了
在第一行中,我们从磁盘加载图像,并指定它应该调整大小为28 x 28 x 1,请记住,这是原始mnist图像的尺寸,所以它的优点就是保持恒定。
接下来,我们将图像转换为一个像素数组,这就是全部。
运行它并自己检查结果,查看预测结果是否为3。