使用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发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
Python复制目录结构脚本代码分享
Mar 06 Python
Python Web框架Tornado运行和部署
Oct 19 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
pymysql模块的操作实例
Dec 17 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
Python3查找列表中重复元素的个数的3种方法详解
Feb 13 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
Python判断变量是否是None写法代码实例
Oct 09 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
BBS(php & mysql)完整版(二)
2006/10/09 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
新手该如何学python怎么学好python?
2008/10/07 Python
Python中的ctime()方法使用教程
2015/05/22 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
Python3 socket同步通信简单示例
2017/06/07 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
日本语毕业生自荐信
2014/02/01 职场文书
汇报材料怎么写
2014/12/30 职场文书
2015年采购部工作总结
2015/04/23 职场文书
2015年幼师工作总结
2015/04/28 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
2015党建工作简报
2015/07/21 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python