如何使用 Keras 和 Python 手动保存权重?


Tensorflow 是谷歌提供的机器学习框架。它是一个开源框架,与 Python 结合使用以实现算法、深度学习应用程序等等。它用于研究和生产目的。

Keras 是作为 ONEIROS(开放式神经电子智能机器人操作系统)项目研究的一部分开发的。Keras 是一个用 Python 编写的深度学习 API。它是一个高级 API,具有高效的接口,有助于解决机器学习问题。

它运行在 Tensorflow 框架之上。它的构建是为了帮助以快速的方式进行实验。它提供了开发和封装机器学习解决方案所必需的基本抽象和构建块。它具有高度可扩展性,并具有跨平台功能。这意味着 Keras 可以在 TPU 或 GPU 集群上运行。Keras 模型也可以导出到 Web 浏览器或手机中运行。

Keras 已经存在于 Tensorflow 包中。可以使用以下代码行访问它。

import tensorflow
from tensorflow import keras

我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助通过浏览器运行 Python 代码,无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 基于 Jupyter Notebook 构建。以下是代码 -

示例

print("The weights are saved")
model.save_weights('./checkpoints/my_checkpoint')
print("A new model instance is created")
model = create_model()
print("Restore the weights of the old model")
model.load_weights('./checkpoints/my_checkpoint')
print("The model is being evaluated")
loss, acc = model.evaluate(test_images, test_labels, verbose=2)
print("Restored model, accuracy: {:5.2f}%".format(100 * acc))

代码来源 -  https://tensorflowcn.cn/tutorials/keras/save_and_load

输出

解释

  • 使用“save_weights”方法保存新模型的权重。

  • 使用“create_model”方法创建另一个新模型。

  • 恢复旧模型的权重。

  • 将新模型与旧权重关联并进行评估。

  • 使用“evaluate”方法评估新模型。

  • 确定训练期间的准确性和损失。

  • 这些值显示在控制台上。

更新于: 2021年1月21日

85 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告