keras callback中的stop_training
keras这个框架简洁优美,设计上堪称典范。而tensorflow就显得臃肿庞杂,混乱不清。当然,keras的周边部件比如callbacks、datasets、preprocessing有许多过度设计的感觉,但是keras的核心是好的,这个设计完美的核心使得这个系统可扩展性极强、代码逻辑性极强。然而,其中因为依旧有一些小细节,一旦理解不透,就会对keras的原理有“神奇”之感,比如本文接下来要讲的这个问题:callbacks中的stop_training。
keras的Model#fit()函数接受一个callback列表,在训练的不同阶段会触发callback的不同操作。其中这些阶段包括:
- 训练开始和结束
- 批次开始和结束
- 轮次开始和结束
callback列表中的元素都是Callback的派生类的实例。每个Callback派生类都可以选择性的重写以上六个函数。
其中callback中常用的一种操作是:callback_model.stop_training=True or False
。
callback_model
是每个Callback实例的成员变量,它对应的类型也就是Model。
但是Model并没有stop_training
这个成员变量,Model继承自Network,Network也没有这个成员变量。stop_training
这个属性唯一出现的两个地方就是:callbacks.py中定义回调接口的时候,train_array.py执行训练操作的时候。
这个属性仿佛从天而降、无中生有。
实际上,Model的父类Network实现了__setattr__
函数,这样就可以随意往Network上“悬挂”变量了,Model当然也继承了这样的特点。
keras callback中的stop_training的更多相关文章
- Keras官方中文文档:常见问题与解答
所属分类:Keras Keras FAQ:常见问题 如何引用Keras? 如何使Keras调用GPU? 如何在多张GPU卡上使用Keras "batch", "epoch ...
- Keras官方中文文档:keras后端Backend
所属分类:Keras Keras后端 什么是"后端" Keras是一个模型级的库,提供了快速构建深度学习网络的模块.Keras并不处理如张量乘法.卷积等底层操作.这些操作依赖于某种 ...
- 在Keras模型中one-hot编码,Embedding层,使用预训练的词向量/处理图片
最近看了吴恩达老师的深度学习课程,又看了python深度学习这本书,对深度学习有了大概的了解,但是在实战的时候, 还是会有一些细枝末节没有完全弄懂,这篇文章就用来总结一下用keras实现深度学习算法的 ...
- Keras官方中文文档:函数式模型API
\ 函数式模型接口 为什么叫"函数式模型",请查看"Keras新手指南"的相关部分 Keras的函数式模型为Model,即广义的拥有输入和输出的模型,我们使用M ...
- Keras官方中文文档:序贯模型API
Sequential模型接口 如果刚开始学习Sequential模型,请首先移步这里阅读文档,本节内容是Sequential的API和参数介绍. 常用Sequential属性 model.layers ...
- [转] 理解CheckPoint及其在Tensorflow & Keras & Pytorch中的使用
作者用游戏的暂停与继续聊明白了checkpoint的作用,在三种主流框架中演示实际使用场景,手动点赞. 转自:https://blog.floydhub.com/checkpointing-tutor ...
- Keras官方中文文档:关于Keras模型
关于Keras模型 Keras有两种类型的模型,序贯模型(Sequential)和函数式模型(Model),函数式模型应用更为广泛,序贯模型是函数式模型的一种特殊情况. 两类模型有一些方法是相同的: ...
- Keras官方中文文档:序贯模型
快速开始序贯(Sequential)模型 序贯模型是多个网络层的线性堆叠,也就是"一条路走到黑". 可以通过向Sequential模型传递一个layer的list来构造该模型: f ...
- Keras官方中文文档:Keras安装和配置指南(Windows)
这里需要说明一下,笔者不建议在Windows环境下进行深度学习的研究,一方面是因为Windows所对应的框架搭建的依赖过多,社区设定不完全:另一方面,Linux系统下对显卡支持.内存释放以及存储空间调 ...
随机推荐
- Path Sum II leetcode java
题目: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the give ...
- Kalman滤波器从原理到实现
Kalman滤波器的历史渊源 We are like dwarfs on the shoulders of giants, by whose grace we see farther than the ...
- SQL 连接操作 及 查询分析
- JAVA-找不到元素 'beans' 的声明
问题: Tomcat启动时,spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseExceptio ...
- Softmax 函数的特点和作用是什么?
作者:张欣链接:https://www.zhihu.com/question/23765351/answer/98897364来源:知乎著作权归作者所有,转载请联系作者获得授权. softmax 回归 ...
- 让你的Python代码更加pythonic
http://wuzhiwei.net/be_pythonic/ 何为pythonic? pythonic如果翻译成中文的话就是很python.很+名词结构的用法在中国不少,比如:很娘,很国足,很CC ...
- spring 判断非空提示断言
org.springframework.util.Assert Assert.notNull(object, "Bean object must not be null");
- percona-Toolkit
1:下载最新安装包 wget https://www.percona.com/downloads/percona-toolkit/2.1.1/percona-toolkit-2.1.1.tar.gz ...
- MongoDB分片配置系列一:
接这篇博客: http://www.cnblogs.com/xiaoit/p/4479066.html 这里不再说明安装过程. 1:分片简介 分片是一种将海量的数据水平扩展的数据库集群系统,数据分表存 ...
- UVALive - 4618 Wormholes(负环)
题目大意:给出出发点和终点和m个虫洞(虫洞的出发点.终点,生成时间和花费时间).问从起点到终点花费的最小时间 解题思路:关键是有负环,所以直接跑最短路算法的话会TLE.所以负环要处理一下 可是这个负环 ...