Keras中的各种Callback函数示例(含Checkpoint模型的保存、读取示例)

本文汇总了一系列实用的技巧,以防将来需要用到,涵盖了多种情境下的解决方案和建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一篇博客详细介绍了,以防以后用到
参考【https://blog.youkuaiyun.com/weixin_38517705/article/details/82971147】

### 使用 TensorFlow 和 Keras 进行模型训练及 ModelCheckpoint 的用法 在深度学习项目中,`ModelCheckpoint` 是一种非常有用的回调函数 (callback),它允许用户保存最佳模型权重以便后续加载和部署。以下是关于如何使用 `TensorFlow` 和 `Keras` 训练模型并配置 `ModelCheckpoint` 的详细说明。 #### 配置环境 为了确保能够正常导入必要的模块,可以按照以下方式设置开发环境: ```python import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import ModelCheckpoint ``` 上述代码片段展示了如何引入核心库来构建神经网络模型[^1]。 #### 构建简单模型 下面是一个简单的全连接层模型定义示例: ```python model = Sequential() model.add(Dense(32, activation='relu', input_shape=(784,))) model.add(Dropout(0.5)) model.add(Dense(10, activation='softmax')) ``` 此部分通过堆叠多个密集层创建了一个基础的前馈神经网络结构[^4]。 #### 编译模型 编译阶段指定优化器、损失函数以及其他评估指标: ```python model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) ``` 这里选择了 Adam 作为优化算法,并采用分类交叉熵衡量误差值[^2]。 #### 设置 ModelCheckpoint 回调 利用 `ModelCheckpoint` 可以自动存储表现最优或每轮结束后的模型文件: ```python checkpoint_path = "best_model.hdf5" checkpoint_callback = ModelCheckpoint( filepath=checkpoint_path, save_weights_only=False, monitor='val_accuracy', mode='max', verbose=1, save_best_only=True) ``` 这段脚本设置了监控验证集上的准确率 (`val_accuracy`) 并仅保留性能最好的版本[^3]。 #### 开始训练过程 最后一步就是执行实际的学习循环操作,在其中加入之前准备好的 checkpoint 实例: ```python history = model.fit(x_train, y_train, epochs=10, batch_size=32, validation_data=(x_val, y_val), callbacks=[checkpoint_callback]) ``` 以上命令会迭代数据集完成参数调整工作的同时触发相应的 callback 功能。 #### 加载已保存的最佳模型 当整个流程结束后可以从磁盘读取先前存档下来的最高质量状态继续测试或者预测新样本: ```python saved_model = tf.keras.models.load_model(checkpoint_path) test_loss, test_acc = saved_model.evaluate(x_test, y_test) print(f'Test accuracy: {test_acc}') ``` 这步演示了恢复预先储存下来的效果最理想的实例来进行最终考核。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值