使用Keras画神经网络准确性图教程


Posted in Python onJune 15, 2020

1.在搭建网络开始时,会调用到 keras.models的Sequential()方法,返回一个model参数表示模型

2.model参数里面有个fit()方法,用于把训练集传进网络。fit()返回一个参数,该参数包含训练集和验证集的准确性acc和错误值loss,用这些数据画成图表即可。

如:

history=model.fit(x_train, y_train, batch_size=32, epochs=5, validation_split=0.25) #获取数据
 
#########画图
acc = history.history['acc']  #获取训练集准确性数据
val_acc = history.history['val_acc'] #获取验证集准确性数据
loss = history.history['loss']   #获取训练集错误值数据
val_loss = history.history['val_loss'] #获取验证集错误值数据
epochs = range(1,len(acc)+1)
plt.plot(epochs,acc,'bo',label='Trainning acc')  #以epochs为横坐标,以训练集准确性为纵坐标
plt.plot(epochs,val_acc,'b',label='Vaildation acc') #以epochs为横坐标,以验证集准确性为纵坐标
plt.legend() #绘制图例,即标明图中的线段代表何种含义
 
plt.figure() #创建一个新的图表
plt.plot(epochs,loss,'bo',label='Trainning loss')
plt.plot(epochs,val_loss,'b',label='Vaildation loss')
plt.legend() ##绘制图例,即标明图中的线段代表何种含义
 
plt.show() #显示所有图表

得到效果:

使用Keras画神经网络准确性图教程

完整代码:

import keras
from keras.datasets import mnist
from keras.layers import Conv2D, MaxPool2D, Dense, Flatten,Dropout
from keras.models import Sequential
import matplotlib.pyplot as plt
 
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(-1, 28, 28, 1)
x_test = x_test.reshape(-1, 28, 28, 1)
x_train = x_train / 255.
x_test = x_test / 255.
 
y_train = keras.utils.to_categorical(y_train)
y_test = keras.utils.to_categorical(y_test)
 
model = Sequential()
model.add(Conv2D(20,(5,5),strides=(1,1),input_shape=(28,28,1),padding='valid',activation='relu',kernel_initializer='uniform'))
model.add(MaxPool2D(pool_size=(2,2),strides=(2,2)))
model.add(Conv2D(64,(5,5),strides=(1,1),padding='valid',activation='relu',kernel_initializer='uniform'))
model.add(MaxPool2D(pool_size=(2,2),strides=(2,2)))
model.add(Flatten())
model.add(Dense(500,activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(10,activation='softmax'))
model.compile('sgd', loss='categorical_crossentropy', metrics=['accuracy']) #随机梯度下降
 
history=model.fit(x_train, y_train, batch_size=32, epochs=5, validation_split=0.25) #获取数据
 
#########画图
acc = history.history['acc']  #获取训练集准确性数据
val_acc = history.history['val_acc'] #获取验证集准确性数据
loss = history.history['loss']   #获取训练集错误值数据
val_loss = history.history['val_loss'] #获取验证集错误值数据
epochs = range(1,len(acc)+1)
plt.plot(epochs,acc,'bo',label='Trainning acc')  #以epochs为横坐标,以训练集准确性为纵坐标
plt.plot(epochs,val_acc,'b',label='Vaildation acc') #以epochs为横坐标,以验证集准确性为纵坐标
plt.legend() #绘制图例,即标明图中的线段代表何种含义
 
plt.figure() #创建一个新的图表
plt.plot(epochs,loss,'bo',label='Trainning loss')
plt.plot(epochs,val_loss,'b',label='Vaildation loss')
plt.legend() ##绘制图例,即标明图中的线段代表何种含义

以上这篇使用Keras画神经网络准确性图教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
Jun 10 Python
python递归计算N!的方法
May 05 Python
利用Python破解斗地主残局详解
Jun 30 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
python中return不返回值的问题解析
Jul 22 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
Sep 15 Python
python3中编码获取网页的实例方法
Nov 16 Python
python UDF 实现对csv批量md5加密操作
Jan 01 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 #Python
python中元组的用法整理
Jun 15 #Python
详解Python设计模式之策略模式
Jun 15 #Python
python能做哪方面的工作
Jun 15 #Python
python实现二分类和多分类的ROC曲线教程
Jun 15 #Python
python属于解释型语言么
Jun 15 #Python
python要安装在哪个盘
Jun 15 #Python
You might like
第九节--绑定
2006/11/16 PHP
五个PHP程序员工具
2008/05/26 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
2017/03/04 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
Python随机函数random()使用方法小结
2018/04/29 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
书法培训心得体会
2014/01/05 职场文书
运动会解说词50字
2014/01/18 职场文书
中学劳技课教师的自我评价
2014/02/05 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js