keras的训练引擎:train_array.py和train_generator.py
keras的Model支持两种模式的训练:
- 直接传入数组,最终会调用train_array.py中的fit_loop()函数
- 直接传入生成器,最终会调用train_generator.py中的fit_generator()函数
train_array.py文件只有三个函数,就是fit_loop()、predict_loop()、evaluate_loop()
train_generator.py文件只有三个函数,就是fit_generator()函数、predict_generator()、evaluate_generator()
这两个函数非常相似,参数也都差不多。它们都接受一个model参数,它的类型是一个Model实例。因为这两个函数比较重量级,所以从Model中拆分出来单独作为一个文件,这两个文件可以说是keras的心脏。这两个文件把模型、损失、评测指标、回调等组件结合起来,仿佛各条小溪在此处汇聚成大河,仿佛各个乐器在此处齐鸣奏出交响乐。只要看懂这两个文件,keras可以说是懂了半壁江山。以这两个文件为出发点,顺藤摸瓜按图索骥就能够把keras的各个模块、各个部件理得很清。
fit_loop()有steps_per_epoch和batch_size两个参数,但是这两个参数不能同时指定。因为fit_loop传入了全部数据,所以样本总数是确定的。steps_per_epoch*batch_size应该近似等于样本总数。也就是说steps_per_epoch和batch_size这两个变量在样本总数已知的情况下可以互相推出。
fit_loop()函数适用场景包括:
- 样本数可以全部加载到内存
- 样本长度统一且固定
fit_generator()相比fit_loop()要灵活很多,但是用起来却需要额外的步骤。它需要提供一个生成器,这个生成器应该是一个无穷无尽的生成器,也就是说它应该始终源源不断地产生数据,通过steps_per_epoch来指明每个轮次包含的样本数。对于生成器每次返回数据,样本个数即为batch_size。生成器每次返回的数据batch_size是可以参差不齐的。
keras的训练引擎:train_array.py和train_generator.py的更多相关文章
- Keras/Tensorflow训练逻辑研究
Keras是什么,以及相关的基础知识,这里就不做详细介绍,请参考Keras学习站点http://keras-cn.readthedocs.io/en/latest/ Tensorflow作为backe ...
- 人脸检测及识别python实现系列(5)——利用keras库训练人脸识别模型
人脸检测及识别python实现系列(5)——利用keras库训练人脸识别模型 经过前面稍显罗嗦的准备工作,现在,我们终于可以尝试训练我们自己的卷积神经网络模型了.CNN擅长图像处理,keras库的te ...
- Keras模型训练的断点续训、早停、效果可视化
训练:model.fit()函数 fit(x=None, y=None, batch_size=None, epochs=, verbose=, callbacks=None, validation_ ...
- VGG16等keras预训练权重文件的下载及本地存放
VGG16等keras预训练权重文件的下载: https://github.com/fchollet/deep-learning-models/releases/ .h5文件本地存放目录: Linux ...
- 阿里巴巴稀疏模型训练引擎-DeepRec
导读:DeepRec从2016年起深耕至今,支持了淘宝搜索.推荐.广告等核心业务,沉淀了大量优化的算子.图优化.Runtime优化.编译优化以及高性能分布式训练框架,在稀疏模型的训练方面有着优异性能的 ...
- 【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优
libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰. 所需工具:libsvm.gnuplot 本机环境:Windo ...
- Libsvm:脚本(subset.py、grid.py、checkdata.py) | MATLAB/OCTAVE interface | Python interface
1.脚本 This directory includes some useful codes: 1. subset selection tools. (子集抽取工具) subset.py 2. par ...
- Python编程核心之makeTextFile.py和readTextFile.py
引言: 最近大半年都在学习python编程,在双十一的时候购买了<Python编程核心>,看到makeTextFile.py和readTextFile.py两个例子有点错误,所以在这里给修 ...
- django-admin.py和manage.py的用法
[简介] django-admin.py是Django的一个用于管理任务的命令行工具.本文将描述它的大概用法. 另外,在每一个Django project中都会有一个manage.py.manage. ...
随机推荐
- 25个可遇不可求的jQuery插件
随着jQuery插件在网站建设过程中的使用率不断的增加,所以有必要跟进时代步伐开发出一些新的插件/代码片段,以此来巩固并提高前端用户体验,将用户体验提升到一个新的高度. 接下来所推荐的这些插件中有滑块 ...
- Vue上传图片预览组件
父组件: <template> <div> <h4>基于Vue.2X的html5上传图片组件</h4> <div style="widt ...
- 最小二乘法多项式曲线拟合原理与实现 zz
概念 最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x). 原理 [原理部分由个人根据互联网上的资料进行总结,希望对大家能有用] ...
- VS调试快捷键
VS调试快捷键 命令名 快捷键 说明 调试.应用代码更改 Alt + F10 启动生成操作,利用它可以通过“编辑并继续”功能应用对正在调试的代码所作的更改. 调试.自动窗口 Ctrl + D,Ct ...
- 【Java】SAX解析characters 错误截取问题的解决
SAX解析characters 错误截取问题的解决 SAX characters bug_百度搜索 SAX解析characters 错误截取问题的解决 - CSDN博客 [Android]SAX解析之 ...
- 转: 使用MinGW + Eclipse CDT进行C++开发的配置方法
使用MinGW + Eclipse CDT进行C++开发的配置方法 1 2 3 4 5 6 分步阅读 Eclipse作为开源的IDE,可以用来高效开发Java.C++.C等程序.本文介绍如何在Wind ...
- (转)【Unity Shaders】Vertex Magic —— 访问顶点颜色
转自:http://blog.csdn.net/candycat1992/article/details/38147767 本系列主要参考<Unity Shaders and Effects C ...
- GIF添加3D加速
由于浏览器内核对Gif格式的图片会产生卡的情况,所以我们需要告诉浏览器,开启一下加速,方法很简单,就是利用css3的特性,强制告诉浏览器,这是个元素,需要3D转换,请务必开启加速效果 方法1 给gif ...
- Discuz常见小问题-如何取消登陆发帖验证码
1 正常情况下,用户点击登录之后,需要填写验证码 2 进入后台,点击防灌水,验证设置,然后下面的各个选项可以设置是否启用验证码.
- android中去掉ListView控件中的分割线
通过设置android:divider="@null" ,可以去掉ListView控件中的分割线 也可以自定义分割线的颜色,比如: <ListView android:id= ...