如何在 Python 中使用 Keras 在特定轮数后保存模型权重?


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

它具有优化技术,有助于快速执行复杂的数学运算。

可以使用以下代码行在 Windows 上安装“tensorflow”包:

pip install tensorflow

张量是 TensorFlow 中使用的数据结构。它有助于连接流图中的边。此流图称为“数据流图”。张量只不过是多维数组或列表。

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

它具有高度的可扩展性,并具有跨平台能力。这意味着 Keras 可以运行在 TPU 或 GPU 集群上。Keras 模型也可以导出以在 Web 浏览器或移动电话上运行。

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

import tensorflow
from tensorflow import keras

我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置即可免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。

以下是代码:

示例

checkpoint_path = "training_2/cp−{epoch:04d}.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)

batch_size = 32
print("Callback being created to save the model's weight after every 4 epoch")
cp_callback = tf.keras.callbacks.ModelCheckpoint(
   filepath=checkpoint_path,
   verbose=1,
   save_weights_only=True,
   save_freq=4*batch_size)

print("A new model instance is created")
model = create_model()
print("The weights are saved using 'checkpoint_path'")
model.save_weights(checkpoint_path.format(epoch=0))

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

输出

Callback being created to save the model's weight after every 4 epoch
A new model instance is created
The weight are saved using 'checkpoint_path'

解释

  • 回调具有许多选项,例如为检查点提供唯一名称、调整检查点的频率等等。

  • 新的模型已训练。

  • 此新模型在每 4 个轮次后都会保存一个唯一名称的检查点。

更新于:2021年1月20日

199 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告