keras深度学习分批次训练(by batch)

最近开发深度学习算法的可交互的演示程序,遇到这样一个需求:实时显示每个批次每个epoch的loss值,那么keras模型的fit函数不太能用了,fit函数是把所有的数据喂到model里面,自然就会想到keras会有分批次训练的函数,不需要自己造轮子了

keras里边有两个和分批次相关的函数:train_on_batch和fit_generator,这里分享一些介绍到关键点的笔记

fit_generator是什么,怎么用

  • 上链接:https://blog.csdn.net/qq_38736504/article/details/106485948
  • 敲黑板画重点啦!
    使用fit_generator函数最难理解的是它的generator参数,这份笔记详细的介绍了generator参数是什么,怎样写,是要程序员自己写一个函数啦,不要总想着偷懒,程序员自己可以写嗷,它开始要无限循环

在这里插入图片描述

这里边有一个实际的例子非常好,在链接的第6部分,记得查看啊~
在这里插入图片描述

那么,我对fit_generator函数的理解是,它可以分批次的训练,怎么划分是用户自己定义好的,fit_generator自动去调用那个生成器,一次一次的循环。

  • 返回值:返回值也非常的重要,关乎到需求用什么,返回值是训练历史字典,包含了很多的信息! 一个 History 对象。其 History.history 属性是连续 epoch 训练损失和评估值,以及验证集损失和评估值的记录(如果适用)。

在这里插入图片描述
https://blog.csdn.net/wuxulong123/article/details/105024298
https://blog.csdn.net/wuxulong123/article/details/105024298

train_on_batch能做什么

  • 上链接:https://blog.csdn.net/baoxin1100/article/details/107917633
  • 它讲解的非常好,train_on_batch没有什么生成器函数,它的输入参数是实实在在的数据,返回值是训练的loss,返回值更简单
  • 第6部分也不错,学习速率也是可以调整的~也不用担心不能调节学习速率了

在这里插入图片描述

生成器返回值的格式

  • 上链接:https://blog.csdn.net/weixin_42744102/article/details/87272950
    在这里插入图片描述
    fit_generator函数需要的generator参数的返回值是一个tuple,这对我们自己写划分批次数据是一个启发,自定义一个函数,负责给数据分批次,返回值是list,list的元素是tuple,tuple的组成是(input, output)

train_on_batch和fit_generator的区别和适用情况

  • 使用方法对比
    https://blog.csdn.net/wuxulong123/article/details/105024298
    后半部分是非常不错的讲解,可以好好看看嗷

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 输入不同
    train_on_batch的输入是实实在在的数据,fit_generator输入是一个generator生成器,看了这么多,我理解生成器的返回值是可迭代的一种数据类型,return的时候用python的关键字yield

在这里插入图片描述

  • train_on_batch的好处

https://blog.csdn.net/weixin_42744102/article/details/90083903
在这里插入图片描述
它的工程代码太棒了!
在这里插入图片描述

最后

最后忘了了解为什么会有train_on_batch和fit_generator函数,可不是因为我们最初那个可视化的需求,而是,数据规模太大的时候,一次读入内存,内存会泄漏,才有了分批次训练

https://cloud.tencent.com/developer/article/1724587
在这里插入图片描述

好啦~对于train_on_batch和fit_generator的学习就到这里啦,欢迎点赞、收藏和转发嗷~

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值