使用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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
python解析xml文件实例分享
Dec 04 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
python如何编写win程序
Jun 08 Python
python实现图片转换成素描和漫画格式
Aug 19 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
python爬虫快速响应服务器的做法
Nov 24 Python
python爬虫框架feapde的使用简介
Apr 20 Python
Python预测分词的实现
Jun 18 Python
Python中的pprint模块
Nov 27 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
基于Zend的Captcha机制的应用
2013/05/02 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
Python实现二分法算法实例
2015/02/02 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
python实现扫雷游戏
2020/03/03 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
EJB的几种类型
2012/08/15 面试题
小学生自我评价100字(15篇)
2014/09/18 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书