使用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网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
Jun 09 Python
初步探究Python程序的执行原理
Apr 11 Python
用Python实现换行符转换的脚本的教程
Apr 16 Python
pandas中Timestamp类用法详解
Dec 11 Python
Python使用pylab库实现绘制直方图功能示例
Jun 01 Python
python数据结构之线性表的顺序存储结构
Sep 28 Python
OpenCV图像颜色反转算法详解
May 13 Python
解决python -m pip install --upgrade pip 升级不成功问题
Mar 05 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 Python
教你利用python实现企业微信发送消息
May 23 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
Banner程序
2006/10/09 PHP
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
Node.js实现数据推送
2016/04/14 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
一文读懂Python 枚举
2020/08/25 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
机械专业毕业生自荐信
2013/11/02 职场文书
销售队伍口号
2014/06/11 职场文书
生活部的活动方案
2014/08/19 职场文书
八一建军节演讲稿
2014/09/10 职场文书
团代会开幕词
2015/01/28 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
请客吃饭开场白
2015/06/01 职场文书
《比的意义》教学反思
2016/02/18 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis