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线程详解
Jun 24 Python
python字典的常用操作方法小结
May 16 Python
python rsa 加密解密
Mar 20 Python
windows下python连接oracle数据库
Jun 07 Python
python中返回矩阵的行列方法
Apr 04 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
Python判断字符串是否为空和null方法实例
Apr 26 Python
Tensorflow全局设置可见GPU编号操作
Jun 30 Python
基于python的matplotlib制作双Y轴图
Apr 20 Python
pytorch损失反向传播后梯度为none的问题
May 12 Python
python可视化大屏库big_screen示例详解
Nov 23 Python
Python借助with语句实现代码段只执行有限次
Mar 23 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数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
python基础之入门必看操作
2017/07/26 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
python实现飞行棋游戏
2020/02/05 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
幼儿教师思想汇报
2014/01/10 职场文书
工作鉴定评语
2014/05/04 职场文书
出国留学担保书
2014/05/20 职场文书
工人先进事迹材料
2014/12/26 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers