使用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 win32com 操作Exce的l简单方法(必看)
May 25 Python
Python实现进程同步和通信的方法
Jan 02 Python
微信跳一跳游戏python脚本
Apr 01 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
python 随机生成10位数密码的实现代码
Jun 27 Python
关于pytorch中网络loss传播和参数更新的理解
Aug 20 Python
python设置环境变量的作用整理
Feb 17 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
python批量生成条形码的示例
Oct 10 Python
详解python3类型注释annotations实用案例
Jan 20 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 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+mysql实现无限级分类
2015/11/11 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
javascript eval和JSON之间的联系
2009/12/31 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
vue内置指令详解
2018/04/03 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
python生成密码字典的方法
2018/07/06 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
优秀毕业生自我鉴定
2014/01/19 职场文书
2014年创卫实施方案
2014/02/18 职场文书
本科毕业生自荐信
2014/06/02 职场文书
新书发布会策划方案
2014/06/09 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
MySQL详细讲解变量variables的用法
2022/06/21 MySQL