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的Flask框架中web表单的教程
Apr 20 Python
python清除字符串里非数字字符的方法
Jul 02 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
Python中的日期时间处理详解
Nov 17 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
Python实现的读写json文件功能示例
Jun 05 Python
Python设计模式之工厂方法模式实例详解
Jan 18 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
Python-jenkins模块之folder相关操作介绍
May 12 Python
python能否java成为主流语言吗
Jun 22 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 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+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
Javascript typeof 用法
2008/12/28 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
DOM 事件流详解
2015/01/20 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
使用Eclipse如何开发python脚本
2018/04/11 Python
python求最大值最小值方法总结
2019/06/25 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
Python类中self参数用法详解
2020/02/13 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
业务主管岗位职责
2013/11/20 职场文书
小学生寒假家长评语
2014/04/16 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
2015年体育部工作总结
2015/04/02 职场文书
五年级数学教学反思
2016/02/16 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript
MongoDB支持的索引类型
2022/04/11 MongoDB
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫