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练习程序批量修改文件名
Jan 16 Python
python使用Tkinter显示网络图片的方法
Apr 24 Python
Python实现感知机(PLA)算法
Dec 20 Python
PyQt5实现五子棋游戏(人机对弈)
Mar 24 Python
Python list列表中删除多个重复元素操作示例
Feb 27 Python
numpy中的meshgrid函数的使用
Jul 31 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
Python自定义聚合函数merge与transform区别详解
May 26 Python
python中数字是否为可变类型
Jul 08 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 Python
Python操作CSV格式文件的方法大全
Jul 15 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
域名查询代码公布
2006/10/09 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
php compact 通过变量创建数组
2016/11/15 PHP
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
机器学习python实战之决策树
2017/11/01 Python
Python中return self的用法详解
2018/07/27 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
python文件写入write()的操作
2019/05/14 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
单身联谊活动方案
2014/01/29 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
如何通过一篇文章了解Python中的生成器
2022/04/02 Python
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers