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标准库之循环器(itertools)介绍
Nov 25 Python
使用Python中的cookielib模拟登录网站
Apr 09 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
快速了解Python开发中的cookie及简单代码示例
Jan 17 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
Django如何防止定时任务并发浅析
May 14 Python
浅谈python 中类属性共享的问题
Jul 02 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
基于pycharm实现批量修改变量名
Jun 02 Python
python 监控logcat关键字功能
Sep 04 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 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实现递归循环每一个目录
2010/08/08 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
幼儿园教学随笔感言
2014/02/23 职场文书
什么是就业协议书
2014/04/17 职场文书
学校宣传标语
2014/06/18 职场文书
通信工程求职信
2014/07/16 职场文书
药店促销活动策划方案
2014/08/24 职场文书