使用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数据结构之二叉树的建立实例
Apr 29 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
Python设计模式之建造者模式实例详解
Jan 17 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
python @classmethod 的使用场合详解
Aug 23 Python
详解python中index()、find()方法
Aug 29 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
详解Python牛顿插值法
May 11 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
Jun 05 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类中Static方法效率测试代码
2010/10/17 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
Javascript常考语句107条收集
2010/03/09 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
js单词形式的运算符
2014/05/06 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
axios基本入门用法教程
2017/03/25 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
javascript对HTML字符转义与反转义
2018/12/13 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
mac下如何将python2.7改为python3
2018/07/13 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
python列表的逆序遍历实现
2020/04/20 Python
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
医院实习接收函
2014/01/12 职场文书
白酒市场营销方案
2014/02/25 职场文书
学术研讨会主持词
2015/07/04 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书