tf 加速训练,节省内存 fit_generator
如果我们直接用keras的fit函数来训练模型的话,是需要传入全部训练数据,但是好在提供了fit_generator
,可以分批次的读取数据,节省了我们的内存,我们唯一要做的就是实现一个生成器(generator)。
直接给出关键代码,数据处理和组网部分略过
处理后的数据格式如下:
- 第一个列表是特征,[39, 500000]
- 第二个列表是label
fit_generator
batch_size = 2048
model.fit_generator(GeneratorRandomPatchs(train_x, train_y, batch_size),validation_data=(val_x, val_y),steps_per_epoch=len(train_data) // batch_size,epochs=100,verbose=1
)
def GeneratorRandomPatchs(train_x, train_y, batch_size):totl, col = np.array(train_x).shape # (39, 500000) 特征数、样本数# 保证 steps_per_epoch * epoch 批次的数据够while True:for index in range(0, col, batch_size):xs, ys = [], []for t in range(totl):xs.append(train_x[t][index: index + batch_size])ys.append(train_y[0][index: index + batch_size])# print(np.array(xs).shape, np.array(ys).shape)yield (xs, ys)
fit_generator
需要传递一个迭代器,如上述例子:GeneratorRandomPatchs,通过yield
返回训练数据
batch_size
:批处理大小,就是每次入模的样本数。steps_per_epoch
:每个epoch要处理的批数。比如训练数据50W,batch_size是2048,那么一个epoch的批数就是244。
其它参数解释
参考自:
https://blog.csdn.net/zhangpeterx/article/details/90900118
https://blog.csdn.net/qq_39783265/article/details/106752903
https://www.jb51.net/article/188905.htm
https://my.oschina.net/u/4329662/blog/3639783
tf 加速训练,节省内存 fit_generator相关推荐
- 2020-12-11 keras通过model.fit_generator训练模型(节省内存)
keras通过model.fit_generator训练模型(节省内存) 前言 前段时间在训练模型的时候,发现当训练集的数量过大,并且输入的图片维度过大时,很容易就超内存了,举个简单例子,如果我们有2 ...
- 《预训练周刊》第16期:中科院推出全球首个图文音三模态预训练模型、顶会论文探索100层序列推荐模型的加速训练...
No.16 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第16期&l ...
- 梯度中心化,一行代码加速训练并提升泛化能力
来源 | 晓飞的算法工程笔记 优化器(Optimizer)对于深度神经网络在大型数据集上的训练是十分重要的,如SGD和SGDM,优化器的目标有两个:加速训练过程和提高模型的泛化能力.目前,很多工作研究 ...
- datagenerator解决训练时候内存不足问题
[Keras]使用数据生成器(data generators)解决训练数据内存问题_m0_37477175的博客-CSDN博客_datagenerator
- 谷歌大脑提出对智能体进行「正向-反向」强化学习训练,加速训练过程
原文来源:arXiv 作者:Ashley D. Edwards.Laura Downs.James C. Davidson 「雷克世界」编译:嗯~是阿童木呀.KABUDA.EVA 在强化学习问题中,关 ...
- [CLPR] 用于加速训练神经网络的二阶方法
本文翻译自: http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi ...
- java 内存_java节省内存的几条建议
java节省内存的几条建议 引导语:Java的主要工作是通过编程语言来制作互联网页面.制作动态效果以及网站等技术,以下是小编整理的java节省内存的几条建议,欢迎参考阅读! 1. 尽量在合适的场合使用 ...
- pandas的dataframe节省内存
##############################第1种################################################### [1]代码如下(下面的会损失数 ...
- javafx阴影_JavaFX技巧来节省内存! 属性和可观察对象的阴影场
javafx阴影 在 JavaFX的世界中, Properties API允许UI开发人员将值绑定到UI控件. 这种功能出奇的简单,但是当对象模型经常使用属性时,应用程序可能会很快耗尽内存. 我通常会 ...
最新文章
- 基于 matplotlib 的抽象网格和能量曲线绘制程序
- 对比学习系列论文CPCforHAR(一):Contrastive Predictive Coding for Human Activity Recognition
- 机架式服务器怎么和显示屏连接,图解机架式服务器的机箱和电源
- 如何使用 C# 中的 HashSet
- 学习方法书籍 很好推荐
- js new Date()
- Oracle ERP权限管理
- eclipse安装emmet之后ctrl+d热键冲突的解决方法
- 汽车和山羊问题matlab_三门问题:为什么换门会增加得到汽车的概率
- python脚本批量登录crt_python批量修改SecureCRT会话密码-阿里云开发者社区
- 人人商城源码怎么安装MySQL_人人商城插件开发手记
- dockertool (win10家庭版)安装后的问题
- 最好用的 7 款 Vue 3 富文本编辑器
- #洛谷oj:P1196银河英雄传说
- 《ANSYS Workbench有限元分析实例详解(静力学)》——2.5 Windows界面相应操作
- 要只看每日减少的新增数量,别忘了疫情最开始的时候可能也只有几个人患病
- activity任意节点动态加签
- php的内部方法编码方式,字符集字符编码以及PHP中的一些转码方法
- 从零学ELK系列(十):SpringBoot项目接入ELK升级版(超详细图文教程)
- 计算机总线详解(数据总线、地址总线、控制总线)
热门文章
- 王者荣耀显示服务器爆满进不去,王者荣耀榜一二秀恩爱,服务器爆满进不去,榜四:他俩不是人...
- 在AGFA的一个月工作经历
- Happy 2004(代码+积性函数扩展)
- 什么是交叉熵啊?| 小白深度学习入门
- K8S云管平台开发实践 - 报警功能01
- python自学网站免费-推荐几个适合小白学习Python的免费网站
- 项目总结-通过经纬度将地球表面分块
- 普氏分析 matlab,降维和特征提取
- MATLAB Simulink
- MathWorks 中国
- Python:爬取上市公司公告-Wind-CSMAR
- Excel文档的生成和压缩