上次笔者给大家介绍了如何训练主机健康度数据并如何介绍了如何优化主机健康度的LSTM模型。本次分享给大家介绍如何在训练完成之后对模型的保存及调用相关问题。
本次介绍主要包括:
如何将模型权重和模型体系结构保存在多带带的文件中
如何调用调用模型,并产生实时预测数据
Keras是用于深度学习的简单而强大的Python库。鉴于深度学习模型需要花费数小时,数天甚至数周的训练时间,因此了解如何从磁盘保存和加载它们非常重要。在本文中,您将发现如何将Keras模型保存到文件中并再次加载它们以进行预测。
接下来我们来保存模型权重数据为H5形式的格式内容。
环境安装
首先,确认您已安装最新版本的Keras。注意:保存模型需要安装h5py库。您可以按照以下步骤轻松安装它:
Sudopip install h5py
保存模型权重和架构
Keras保存模型及训练数据十分简单,是用模型权重和模型体系结构一起保存到单个H5文件中。
以这种方式保存模型包括我们需要了解的有关模型的所有信息,包括:
模型权重。
模型架构。
模型编译详细信息(损失和指标)。
模型优化器状态。
这意味着我们可以直接加载和使用模型,而不必像训练数据时那样重新去编译它。(注意:这是保存和加载Keras模型的首选方法)
您可以通过在模型上调用save()函数并指定文件名来保存模型。下面的示例只关于构建模型部分代码,完整训练需要查看上次训练数据分享文章,评估模型并将其保存到文件model.h5来演示这一点。
训练完成之后,在训练脚本当前路径下既会出现当前模型保存的h5格式模型文件。
在模型训练完成并保存成功之后,我们即可对该模型的文件进行调用,并预测出新的数据结果。
首先,我们根据训练模型,根据训练数据的模型,封装好调用数据进行调用,并对实时数据用归一化处理数据。处理完成之后对实时数据进行归一化处理。然后打印出预测结果。
我们随机提取训练数据中的某连续三个小时数据进行测试后发现,预测结果与实际数据相差比较大。后面通过debug后发现预测数据在进行数据归一化处理是,数据缩放只会对输入的实时数据进行缩放,而不是通过对训练样本中的数据进行缩放,所以导致预测结果和实际结果相差较大。
经过查阅相关资料,终于了解了在Keras中,对归一化的数据也在训练中可以进行保存。以便在后续的调用脚本中使用。
保存、加载数据缩放器
我们可以在训练模型时将数据缩放器通过dump保存下来,
dump(scaler,open(scaler.pkl, wb))
然后在调用模型时,通过load方法加载出来数据缩放器。
为了确认缩放器具有预期的效果,我们在应用缩放之前和之后都报告每个输入功能的最小值和最大值。然后,该模型对测试集中的示例进行预测,并计算分类准确性。在这种情况下,正如预期的那样,数据集正确归一化后,模型在测试集上的准确性达到了95%以上。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130001.html
摘要:可以这样说,库使得创建深度学习模型变得快速且简单。在本教程中,你将了解如何用中更具灵活性的函数式来定义深度学习模型。如何使用函数式定义简单的多层感知器卷积神经网络以及循环神经网络模型。 可以这样说,Keras Python库使得创建深度学习模型变得快速且简单。序列API使得你能够为大多数问题逐层创建模型。当然它也是有局限性的,那就是它并不能让你创建拥有共享层或具有多个输入或输出的模型。Ker...
摘要:我们在已经准备好的图像数据集上,使用库训练一个卷积神经网络。示例包含用于测试卷积神经网络的图像。训练,绘制准确性损耗函数,然后将卷积神经网络和类标签二进制文件序列化到磁盘。第和行将训练集和测试集按照的比例进行分割。 showImg(https://segmentfault.com/img/bV9lqk?w=698&h=698); 为了让文章不那么枯燥,我构建了一个精灵图鉴数据集(Pok...
阅读 1247·2023-01-11 13:20
阅读 1555·2023-01-11 13:20
阅读 1008·2023-01-11 13:20
阅读 1675·2023-01-11 13:20
阅读 3968·2023-01-11 13:20
阅读 2510·2023-01-11 13:20
阅读 1305·2023-01-11 13:20
阅读 3474·2023-01-11 13:20