Keras在训练期间可视化训练误差和测试误差实例


Posted in Python onJune 16, 2020

详细的解释,读者自行打开这个链接查看,我这里只把最重要的说下

fit() 方法会返回一个训练期间历史数据记录对象,包含 training error, training accuracy, validation error, validation accuracy 字段,如下打印

# list all data in history
print(history.history.keys())

完整代码

# Visualize training history
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
import numpy
 
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
# load pima indians dataset
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:,0:8]
Y = dataset[:,8]
# create model
model = Sequential()
model.add(Dense(12, input_dim=8, kernel_initializer='uniform', activation='relu'))
model.add(Dense(8, kernel_initializer='uniform', activation='relu'))
model.add(Dense(1, kernel_initializer='uniform', activation='sigmoid'))
 
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
 
# Fit the model
history = model.fit(X, Y, validation_split=0.33, epochs=150, batch_size=10, verbose=0)
 
# list all data in history
print(history.history.keys())
 
# summarize history for accuracy
plt.plot(history.history['acc'])
plt.plot(history.history['val_acc'])
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.show()
 
# summarize history for loss
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.show()

Keras在训练期间可视化训练误差和测试误差实例

补充知识:训练时同时输出实时cost、准确率图

首先定义画图函数:

train_prompt = "Train cost"
cost_ploter = Ploter(train_prompt)
def event_handler_plot(ploter_title, step, cost):
 cost_ploter.append(ploter_title, step, cost)
 cost_ploter.plot()

在训练时如下方式使用:

EPOCH_NUM = 8
# 开始训练
lists = []
step = 0
for epochs in range(EPOCH_NUM):
 # 开始训练
 for batch_id, train_data in enumerate(train_reader()):    #遍历train_reader的迭代器,并为数据加上索引batch_id
  train_cost,sult,lab,vgg = exe.run(program=main_program,  #运行主程序
        feed=feeder.feed(train_data),    #喂入一个batch的数据
        fetch_list=[avg_cost,predict,label,VGG])   #fetch均方误差和准确率
  if step % 10 == 0:    
   event_handler_plot(train_prompt,step,train_cost[0])
  # print(batch_id)
  if batch_id % 10 == 0:         #每100次batch打印一次训练、进行一次测试
   p = [np.sum(pre) for pre in sult]
   l = [np.sum(pre) for pre in lab]
   print(p,l,np.sum(sult),np.sum(lab))
   print('Pass:%d, Batch:%d, Cost:%0.5f' % (epochs, batch_id, train_cost[0]))
  step += 1
 # 保存模型
 if model_save_dir is not None:
  fluid.io.save_inference_model(model_save_dir, ['images'], [predict], exe)

print('训练模型保存完成!')
end = time.time()
print(time.strftime('V100训练用时:%M分%S秒',time.localtime(end-start)))

实时显示准确率用同样的方法

以上这篇Keras在训练期间可视化训练误差和测试误差实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
举例讲解Python设计模式编程中的访问者与观察者模式
Jan 26 Python
Python处理JSON时的值报错及编码报错的两则解决实录
Jun 26 Python
使用django-crontab实现定时任务的示例
Feb 26 Python
使用python进行拆分大文件的方法
Dec 10 Python
Pycharm+Scrapy安装并且初始化项目的方法
Jan 15 Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
Python数据可视化实现漏斗图过程图解
Jul 20 Python
详解基于Scrapy的IP代理池搭建
Sep 29 Python
python中操作文件的模块的方法总结
Feb 04 Python
Python自然语言处理之切分算法详解
Apr 25 Python
PyTorch 如何设置随机数种子使结果可复现
May 12 Python
如何在Windows中安装多个python解释器
Jun 16 #Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 #Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 #Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 #Python
Pytorch 使用CNN图像分类的实现
Jun 16 #Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 #Python
Python SMTP配置参数并发送邮件
Jun 16 #Python
You might like
PHP中的cookie
2006/11/26 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
express.js中间件说明详解
2019/03/19 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
python继承和抽象类的实现方法
2015/01/14 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
转党组织关系介绍信
2014/01/08 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
骨干教师个人总结
2015/02/11 职场文书
搞笑婚前保证书
2015/02/28 职场文书
师范生教育见习总结
2015/06/23 职场文书
食堂管理制度范本
2015/08/04 职场文书
运动会200米广播稿
2015/08/19 职场文书
2016春季运动会前导词
2015/11/25 职场文书
详细总结Python常见的安全问题
2021/05/21 Python