keras中的History对象用法


Posted in Python onJune 19, 2020

keras中的fit_generator和fit函数均返回History对象,那么History怎么用呢?事实上History对象已经记录了运行输出。在了解之前,我们甚至自己定义回调函数记录损失和准确率等。

相关keras源码位于网址:

class History(Callback):
 """Callback that records events into a `History` object.
 This callback is automatically applied to
 every Keras model. The `History` object
 gets returned by the `fit` method of models.
 """

 def on_train_begin(self, logs=None):
  self.epoch = []
  self.history = {}

 def on_epoch_end(self, epoch, logs=None):
  logs = logs or {}
  self.epoch.append(epoch)
  for k, v in logs.items():
   self.history.setdefault(k, []).append(v)

可以看出History类对象包含两个属性,分别为epoch和history,epoch为训练轮数。

根据compile参数metrics,history包含不同的内容。比如,当某一次metrics=['accuracy']时,运行如下部分代码我们可以看出,history字典类型,包含val_loss,val_acc,loss,acc四个key值。

####省略若干
history = model.fit_generator(
  mp.train_flow,
  steps_per_epoch=32,
  epochs=3,
  validation_data=mp.test_flow,
  validation_steps=32)
print(history.history)
print(history.epoch)

print(history.history['val_loss'])

{‘val_loss': [0.4231100323200226, 0.3713115310668945, 0.3836631367206573], ‘val_acc': [0.815, 0.84, 0.83], ‘loss': [0.8348453622311354, 0.5010451343324449, 0.4296100065112114], ‘acc': [0.630859375, 0.7509920634920635, 0.783203125]}
[0, 1, 2]
[0.4231100323200226, 0.3713115310668945, 0.3836631367206573]

补充知识:在ipython中使用%history快速查找历史命令

1、输出所有历史记录,且带有序号

%history -n

 150: %cpaste
 151: %cpaste
 152: print(r">>>>>>>>>")
 153: print(r'>>>>>>>>>')
 154: print(r'>>>>>>>>><')
 155: print(r'>')
 156: print(r'>>')
 157: print(r'>>>')
 ...

2、按序号,查找某些序号区间的历史纪录

%history -n 168-170 178 185-190
 
 168: planets
 169:
for method, group in planets.groupby('method'):
 print(f'{method:30s} method={group}')
 170:
for method, group in planets.groupby('method'):
 print(f'{method:30s} method={group.shape}')
 178: %history?
 185: %history -u
 186: %history -n -u
 187: ?%history
 188: %history -g method
 189: %history -g method print
 190: %history -g for method,

3、模糊查找

%history -g print*metho*

 120:
for method, group in planets.groupby('method'):
 print(f"{method:30s} shape={groupe.shape}")
 121:
for method, group in planets.groupby('method'):
 print(f"{method:30s} shape={group.shape}")
 169:
for method, group in planets.groupby('method'):
 print(f'{method:30s} method={group}')
 170:
for method, group in planets.groupby('method'):
 print(f'{method:30s} method={group.shape}')
 182:
for method, group in planets.groupby('method'):
  print(f"{method:30s shape=group.shape}")
 198: %history -g print*metho*

以上这篇keras中的History对象用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python两种遍历字典(dict)的方法比较
May 29 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
Nov 10 Python
十个Python程序员易犯的错误
Dec 15 Python
python 获取当天每个准点时间戳的实例
May 22 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
django 外键model的互相读取方法
Dec 15 Python
python selenium firefox使用详解
Feb 26 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
python多进程重复加载的解决方式
Dec 13 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
Python如何执行精确的浮点数运算
Jul 31 Python
python字典按照value排序方法
Dec 28 Python
python中rc1什么意思
Jun 19 #Python
解决keras backend 越跑越慢问题
Jun 18 #Python
Python基于Twilio及腾讯云实现国际国内短信接口
Jun 18 #Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 #Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 #Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 #Python
python中tab键是什么意思
Jun 18 #Python
You might like
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
Python标准库之collections包的使用教程
2017/04/27 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
使用python存储网页上的图片实例
2018/05/22 Python
Python实现随机漫步功能
2018/07/09 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
python 图像增强算法实现详解
2021/01/24 Python
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
会计专业自我鉴定
2014/02/10 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
奥林匹克的口号
2014/06/13 职场文书
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
初中作文评语集锦
2014/12/25 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
在校学生证明格式
2015/06/24 职场文书
趣味运动会加油词
2015/07/18 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书