1.fit_generator
fit_generator函数参数描述可以参看官方文档,这里说下比较常用的几个参数:
generator: A generator or an instance of Sequence (keras.utils.Sequence) object in order to avoid duplicate data when using multiprocessing. The output of the generator must be either

generator和python的generator没有本质的区别,都是yield返回所需的数据,不过这里是在一个无限循环之中

steps_per_epoch*: Integer. Total number of steps (batches of samples) to yield from generator before declaring one epoch finished and starting the next epoch. It should typically be equal to the number of samples of your dataset divided by the batch*

steps_per_epoch就是一个epoch执行多少次batch,最后一句话也很明确,steps_per_epoch=train_size//batch_size

简单来说,该函数就是解决训练集过大,无法一次性放入内容,每个batch的数据都从磁盘上获取

下面是keras官方的一个Demo

def generate_arrays_from_file(path):while True:with open(path) as f:for line in f:# create numpy arrays of input data# and labels, from each line in the filex1, x2, y = process_line(line)yield ({'input_1': x1, 'input_2': x2}, {'output': y})model.fit_generator(generate_arrays_from_file('/my_file.txt'),steps_per_epoch=10000, epochs=10)

该Demo有个问题就是没有体现出batch_size(暂时认为process_line只生产了一个数据),我们使用下面的代码,让generate_arrays_from_file每次都生产一个batch.

def generate_arrays_from_file(path,batch_size):list_x=[]list_y=[] #保存返回的batch数据count=0while True:with open(path) as f:for line in f:# process_line只返回一条记录x和yx, y = process_line(line)list_x.append(x)list_y.append(y)count+=1if count>=batch_size: #数据记录达到batch_size才返回yield (list_x,list_y)count=0list_x=[];list_y=[]#假定batch_size和train_size的大小
batch_size,train_size=32,1314
model.fit_generator(generate_arrays_from_file('/my_file.txt'),steps_per_epoch=train_size//batch_size, epochs=10)

keras:5)fit_generator相关推荐

  1. 2020-12-11 keras通过model.fit_generator训练模型(节省内存)

    keras通过model.fit_generator训练模型(节省内存) 前言 前段时间在训练模型的时候,发现当训练集的数量过大,并且输入的图片维度过大时,很容易就超内存了,举个简单例子,如果我们有2 ...

  2. DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略

    DL框架之Keras:深度学习框架Keras框架的简介.安装(Python库).相关概念.Keras模型使用.使用方法之详细攻略 目录 Keras的简介 1.Keras的特点 2.Keras四大特性 ...

  3. keras系列︱利用fit_generator最小化显存占用比率/数据Batch化

    本文主要参考两篇文献: 1.<深度学习theano/tensorflow多显卡多人使用问题集> 2.基于双向LSTM和迁移学习的seq2seq核心实体识别 运行机器学习算法时,很多人一开始 ...

  4. Keras之model.fit_generator()的使用

    Keras之model.fit_generator()的使用 model.fit_generator()是利用生成器,分批次向模型送入数据的方式,可以有效节省单次内存的消耗 一.使用方式 1.引入库 ...

  5. keras cnn注意力机制_TensorFlow、PyTorch、Keras:NLP框架哪家强

    全文共3412字,预计学习时长7分钟 在对TensorFlow.PyTorch和Keras做功能对比之前,先来了解一些它们各自的非竞争性柔性特点吧. 非竞争性特点 下文介绍了TensorFlow.Py ...

  6. DL之Keras:keras保存网络结构、网络拓扑图、网络模型(json、yaml、h5等)注意事项及代码实现

    DL之Keras:keras保存网络结构.网络拓扑图.网络模型(json.yaml.h5等)注意事项及代码实现 目录 keras保存网络结构.网络拓扑图.网络模型(json.yaml.h5等)注意事项 ...

  7. DL之Keras: Keras深度学习框架的注意事项(默认下载存放路径等)、使用方法之详细攻略

    DL之Keras: Keras深度学习框架的注意事项(自动下载存放路径等).使用方法之详细攻略 目录 Keras深度学习框架的注意事项 1.Keras自动下载默认数据集/模型存放位置 Windows系 ...

  8. NS之VGG(Keras):基于Keras的VGG16实现之《复仇者联盟3》灭霸图像风格迁移设计(A Neural Algorithm of Artistic Style)

    NS之VGG(Keras):基于Keras的VGG16实现之<复仇者联盟3>灭霸图像风格迁移设计(A Neural Algorithm of Artistic Style) 导读 通过代码 ...

  9. DL之Keras:基于Keras框架建立模型实现【预测】功能的简介、设计思路、案例分析、代码实现之详细攻略(经典,建议收藏)

    DL之Keras:基于Keras框架建立模型实现[预测]功能的简介.设计思路.案例分析.代码实现之详细攻略(经典,建议收藏) 目录 Keras框架使用分析 Keras框架设计思路 案例分析 代码实现 ...

最新文章

  1. vue 巧用过渡效果
  2. 乐鑫wifi模块二次开发_米家部分智能硬件拆解,ZigBee/WIFI模块分析及二次开发
  3. hibernate+mysql时,会出现事物不管用
  4. 安卓之实现一个简单的电话拨号功能
  5. 如何学习前端开发,有哪些前端教程,前端学习路线图?
  6. 【报告分享】2021年中国网络文学出海报告-艾瑞咨询(附下载)
  7. 从概念到应用,腾讯视角深入“解剖”AI平台和语音技术
  8. error: passing ‘const xxx’ as ‘this’ argument discards qualifiers [-fpermissive]的解决方案
  9. c语言dt2文件,JETSON NANO 2G使用笔记2-查看配置信息 第一个C程序 配置VNC 文件管理SCP...
  10. 【Linux 0.11】第九章 块设备驱动程序
  11. win10系统还原点怎么设置
  12. Android 报错:Entry name 'AndroidManifest.xml' collided
  13. 50 多个提高前端人效率的工具、网站和书籍整理
  14. AE圣诞树(html版本),免费
  15. centos搭建局域网DNS服务器及单服务器配置多域名
  16. 《LINUX KERNEL MEMORY BARRIERS》
  17. 福禄克同轴适配器DTX-COAX配DTX-1800用
  18. 微信公众号没办法直接获取用户的手机号
  19. 关于jquery的click()和trigger(‘click‘)方法的一点问题
  20. 从I4GL迁移到EGL

热门文章

  1. Echarts折线图折线变弯曲
  2. php 设置expires,如何配置nginx的expires功能
  3. python正则匹配36氪数据
  4. “友谊竞赛”活动策划书
  5. [ACTF_Junior_2021] web wp
  6. 什么是RIA AIR Flex
  7. 计算机毕业设计springboot+vue基本微信小程序的汽车俱乐部系统
  8. 详解Mark Word
  9. 页面点击率统计java_JSP点击量(访问量)统计实例
  10. zoj - 3952