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脚本使得web页面上的代码高亮显示
Apr 24 Python
解析Python编程中的包结构
Oct 25 Python
Python如何判断数独是否合法
Sep 08 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
Python KMeans聚类问题分析
Feb 23 Python
Python实现深度遍历和广度遍历的方法
Jan 22 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
python实现文件的备份流程详解
Jun 18 Python
解决python tkinter界面卡死的问题
Jul 17 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 Python
Django filter动态过滤与排序实现过程解析
Nov 26 Python
Python关于拓扑排序知识点讲解
Jan 04 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之第二天
2006/10/09 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
Python WSGI的深入理解
2018/08/01 Python
Python如何实现邮件功能
2020/05/27 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
python Tornado框架的使用示例
2020/10/19 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
小学教师培训感言
2014/02/11 职场文书
十一酒店活动方案
2014/02/20 职场文书
小学班主任评语大全
2014/04/23 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
Redis命令处理过程源码解析
2022/02/12 Redis