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中的类与对象之描述符详解
Mar 27 Python
详尽讲述用Python的Django框架测试驱动开发的教程
Apr 22 Python
Python读写文件方法总结
Jun 09 Python
Python实现定时任务
Feb 08 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
Django如何实现密码错误报错提醒
Sep 04 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
pytorch常用数据类型所占字节数对照表一览
May 17 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” 彩蛋进行敏感信息获取
2013/08/07 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
Python中的CURL PycURL使用例子
2014/06/01 Python
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
itchat接口使用示例
2017/10/23 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
学习python的前途 python挣钱
2019/02/27 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
Python timeit模块的使用实践
2020/01/13 Python
python中pop()函数的语法与实例
2020/12/01 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
佳能英国官方网站:Canon UK
2017/08/08 全球购物
志愿者活动总结
2014/04/28 职场文书
诉前财产保全担保书
2014/05/20 职场文书
2015年资料员工作总结
2015/04/25 职场文书
催款律师函范文
2015/05/27 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python