如何使用 Keras 在 Python 中创建回调函数并保存权重?


Tensorflow 是 Google 提供的一个机器学习框架。它是一个开源框架,与 Python 结合使用以实现算法、深度学习应用程序等等。它用于研究和生产目的。它具有有助于快速执行复杂数学运算的优化技术。这是因为它使用了 NumPy 和多维数组。这些多维数组也称为“张量”。

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

pip install tensorflow

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

Keras 是作为 ONEIROS(开放式神经电子智能机器人操作系统)项目研究的一部分开发的。Keras 是一个用 Python 编写的深度学习 API。它是一个高级 API,具有一个高效的界面,有助于解决机器学习问题。它运行在 Tensorflow 框架之上。它的构建是为了帮助快速进行实验。它提供了开发和封装机器学习解决方案所必需的基本抽象和构建块。

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

import tensorflow
from tensorflow import keras

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

示例

print("Set checkpoint path")
checkpoint_path = "training_1/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)

print("Creating a callback to save the weights")
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path, save_weights_only=True, verbose=1)

print("Model is trained with new callback")
model.fit(train_images,
   train_labels,
   epochs=10,
   validation_data=(test_images, test_labels),
   callbacks=[cp_callback])
ls {checkpoint_dir}

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

输出

解释

  • 训练好的模型可以在不重新训练或从其停止点开始训练的情况下使用。

  • “ModelCheckpoint”方法在训练期间和训练结束时持续保存模型。

  • 这样,检查点文件在每个 epoch 之后都会更新。

  • 此模型适合训练数据。

更新于: 20-Jan-2021

81 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告