使用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创建线程示例
May 06 Python
Python中的作用域规则详解
Jan 30 Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
在Python中操作文件之seek()方法的使用教程
May 24 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
Feb 11 Python
Python微医挂号网医生数据抓取
Jan 24 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
Python打印特殊符号及对应编码解析
May 07 Python
python 负数取模运算实例
Jun 03 Python
python中super()函数的理解与基本使用
Aug 30 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
PHP使用Redis长连接的方法详解
2018/02/12 PHP
PHP实现倒计时功能
2020/11/16 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
js实现简易拖拽的示例
2020/10/26 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
Python调用命令行进度条的方法
2015/05/05 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
大专生自荐信
2013/10/04 职场文书
创业资金计划书
2014/02/06 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
警告通知
2015/04/25 职场文书
队列队形口号
2015/12/25 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
七年级思品教学反思
2016/02/20 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
React四级菜单的实现
2022/04/08 Javascript
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL