使用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正则表达式 re模块使用说明
May 19 Python
Python中使用logging模块代替print(logging简明指南)
Jul 09 Python
解决Pycharm无法import自己安装的第三方module问题
May 18 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
python实现画循环圆
Nov 23 Python
Python读写操作csv和excle文件代码实例
Mar 16 Python
基于TensorFlow的CNN实现Mnist手写数字识别
Jun 17 Python
Python爬虫抓取指定网页图片代码实例
Jul 24 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 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 学习资料零碎东西
2010/12/04 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
python sys.argv[]用法实例详解
2018/05/25 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
应届毕业生自我评价分享
2013/12/15 职场文书
买房委托公证书
2014/04/08 职场文书
法制宣传月活动方案
2014/05/11 职场文书
2015教师节通讯稿
2015/07/20 职场文书
windows系统安装配置nginx环境
2022/06/28 Servers