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 相关文章推荐
详解字典树Trie结构及其Python代码实现
Jun 03 Python
python 异常处理总结
Oct 18 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
使用Python对微信好友进行数据分析
Jun 27 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
python实现ssh及sftp功能(实例代码)
Mar 16 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
Mar 22 Python
方法汇总:Python 安装第三方库常用
Apr 26 Python
Python使用pyecharts控件绘制图表
Jun 05 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打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
js中if语句的几种优化代码写法
2011/03/12 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
python简单文本处理的方法
2015/07/10 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
物业保安主管岗位职责
2013/12/25 职场文书
政风行风建设责任书
2014/07/23 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
科学发展观标语
2014/10/08 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL