keras 世上无难事只要肯放弃(2)

本文详细解释了Keras中samplebatchepoch的概念,这些是进行深度学习模型训练的基础。同时,介绍了如何在Keras中保存和加载模型,包括模型结构、权重、训练配置和优化器状态。

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

"sample", "batch", "epoch" 分别是什么?

为了正确地使用 Keras,以下是必须了解和理解的一些常见定义:

  • Sample: 样本,数据集中的一个元素,一条数据。
    • 例1: 在卷积神经网络中,一张图像是一个样本。
    • 例2: 在语音识别模型中,一段音频是一个样本。
  • Batch: 批,含有 N 个样本的集合。每一个 batch 的样本都是独立并行处理的。在训练时,一个 batch 的结果只会用来更新一次模型。
    • 一个 batch 的样本通常比单个输入更接近于总体输入数据的分布,batch 越大就越近似。然而,每个 batch 将花费更长的时间来处理,并且仍然只更新模型一次。在推理(评估/预测)时,建议条件允许的情况下选择一个尽可能大的 batch,(因为较大的 batch 通常评估/预测的速度会更快)。
  • Epoch: 轮次,通常被定义为 「在整个数据集上的一轮迭代」,用于训练的不同的阶段,这有利于记录和定期评估。
    • 当在 Keras 模型的 fit 方法中使用 validation_data 或 validation_split 时,评估将在每个 epoch 结束时运行。
    • 在 Keras 中,可以添加专门的用于在 epoch 结束时运行的 callbacks 回调。例如学习率变化和模型检查点(保存)。

 

保存模型

使用model.save(filepath)将模型保存到HDF5文件中。

该文件包括:

·模型的结构,允许重新创建模型

·模型的权重

·训练配置项(损失函数,优化器)

·优化器状态,允许准确地从你上次结束的时候继续训练。

 

可以使用keras.models.load_name(filepath)重新实例化模型。

假设你有用于实例化模型的代码,则可以将保存的权重加载到具有相同结构的模型中:

model.load_weights('my_model_weights.h5')

如果你需要将权重加载到不同的结构(有一些共同层)的模型中,例如微调或迁移学习,则可以按层的名字来加载权重:

model.load_weights('my_model_weights.h5', by_name=True)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值