keras画acc和loss曲线图
keras画acc和loss曲线图
#加载keras模块
from __future__ import print_function
import numpy as np
np.random.seed(1337) # for reproducibilityimport keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD, Adam, RMSprop
from keras.utils import np_utils
import matplotlib.pyplot as plt
%matplotlib inline#写一个LossHistory类,保存loss和acc
class LossHistory(keras.callbacks.Callback):def on_train_begin(self, logs={}):self.losses = {'batch':[], 'epoch':[]}self.accuracy = {'batch':[], 'epoch':[]}self.val_loss = {'batch':[], 'epoch':[]}self.val_acc = {'batch':[], 'epoch':[]}def on_batch_end(self, batch, logs={}):self.losses['batch'].append(logs.get('loss'))self.accuracy['batch'].append(logs.get('acc'))self.val_loss['batch'].append(logs.get('val_loss'))self.val_acc['batch'].append(logs.get('val_acc'))def on_epoch_end(self, batch, logs={}):self.losses['epoch'].append(logs.get('loss'))self.accuracy['epoch'].append(logs.get('acc'))self.val_loss['epoch'].append(logs.get('val_loss'))self.val_acc['epoch'].append(logs.get('val_acc'))def loss_plot(self, loss_type):iters = range(len(self.losses[loss_type]))plt.figure()# accplt.plot(iters, self.accuracy[loss_type], 'r', label='train acc')# lossplt.plot(iters, self.losses[loss_type], 'g', label='train loss')if loss_type == 'epoch':# val_accplt.plot(iters, self.val_acc[loss_type], 'b', label='val acc')# val_lossplt.plot(iters, self.val_loss[loss_type], 'k', label='val loss')plt.grid(True)plt.xlabel(loss_type)plt.ylabel('acc-loss')plt.legend(loc="upper right")plt.show()
#变量初始化
batch_size = 128
nb_classes = 10
nb_epoch = 20# the data, shuffled and split between train and test sets
(X_train, y_train), (X_test, y_test) = mnist.load_data()X_train = X_train.reshape(60000, 784)
X_test = X_test.reshape(10000, 784)
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255
print(X_train.shape[0], 'train samples')
print(X_test.shape[0], 'test samples')# convert class vectors to binary class matrices
Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)#建立模型 使用Sequential()
model = Sequential()
model.add(Dense(512, input_shape=(784,)))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(10))
model.add(Activation('softmax'))#打印模型
model.summary()#训练与评估
#编译模型
model.compile(loss='categorical_crossentropy',optimizer=RMSprop(),metrics=['accuracy'])
#创建一个实例history
history = LossHistory()#迭代训练(注意这个地方要加入callbacks)
model.fit(X_train, Y_train,batch_size=batch_size, nb_epoch=nb_epoch,verbose=1, validation_data=(X_test, Y_test),callbacks=[history])#模型评估
score = model.evaluate(X_test, Y_test, verbose=0)
print('Test score:', score[0])
print('Test accuracy:', score[1])#绘制acc-loss曲线
history.loss_plot('epoch')
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
keras画acc和loss曲线图相关推荐
- Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接、验证集)及效果可视化
Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接.验证集)及效果可视化 在每个training/epoch/batch结束时,如果我们想执行某些任务,例如模型缓存. ...
- 吴恩达作业11:残差网络实现手势数字的识别(基于 keras)+tensorbord显示loss值和acc值
一,残差网络实现手写数字识别 数据集地址:https://download.csdn.net/download/fanzonghao/10551018 首先来resnets_utils.py,里面有手 ...
- Python读取txt文件画Loss曲线图---txt文件转xls文件---xls文件转txt文件--xml文件转txt文件
任务1- 读取.txt文件画折线图(曲线图) 任务2- 将.txt文件转换成.xls(excel)文件 任务3- 将.xls(excel)文件转换成.txt文件 任务4- 读取.txt文件画折线图(曲 ...
- keras版yolov3绘制acc和loss曲线
keras版yolov3绘制acc和loss曲线 基本概念 程序 基本概念 loss表示损失函数值,随着训练过程的进行,loss会越来越小.acc表示模型预测准确率.写论文时,loss曲线和acc曲线 ...
- 深度学习技巧:如何显示多个模型的acc和loss曲线?
好记性不如烂笔头,纯粹为自己的学习生活记录点什么! tensorboard 同时显示多个模型准确率和损失率 tensorboard 同时显示多个模型的accuracy和loss Found more ...
- 使用canvas画折线图和曲线图
使用canvas画折线图和曲线图 贝塞尔曲线如果想要在p0=>p2的过程中经过p1,那么需要计算出pc的值,在canvas之中作为控制点 二次贝塞尔曲线转换为三次 上面只是简单介绍,具体的参考文 ...
- 520表白季,教你用matlab画动态心形曲线图,可自动保存GIF格式图片,送给女朋友,她们一定会惊讶,赶紧收藏!!!
昨天发表了一篇用python教你画心形图表白的文章: 想要表白的看这里,教你用python画不同类型的心形图虏获芳心,值得收藏!! 里面详细介绍了各种心形图的画法以及最终的表白神器,值得点赞收藏!! ...
- 使用keras绘制实时的loss与acc曲线
废话不多说,直接上代码,代码有注释,不懂得评论问博主即可 # -*- coding: utf-8 -*- import keras from keras.models import Sequentia ...
- Caffe如何画出训练中的loss曲线图和accuracy曲线图
第一种方法:重定向训练日志文件 我们在训练的时候会用到caffe/buile/tools/caffe 这个里面的train这个选项.在输入之后,正常会显示训练日志的详细信息.想要画出这里面显示的los ...
最新文章
- 如何面对自己不喜欢的工作?
- JavaScript 初学者必看“箭头函数”
- 图解四种启动模式 及 实际应用场景解说
- 身份验证——《跟我学Shiro》
- [C++对象模型][9]虚继承与虚函数表
- 北京.net俱乐部博客园小组成立了
- CCF201512-5 矩阵【矩阵快速幂】(募集解题代码)
- JAVAEE工程师-2年经验-个人简历
- 一文读懂!最新Transformer预训练模型综述!
- Java蓝桥杯 算法提高 九宫格
- 行业观察:OA产品泛滥,如何慧眼如炬?
- java网络编程(网络通信)
- 牛客网——求最小公倍数
- 计算机图形学(相关网址+大牛推荐+随时补充)
- 真实生活的记录:我三年的外企生涯(2) 出处:天涯虚拟社区
- c++知识点总结--共用体--枚举
- 计算机408考研究竟有多难?
- 因特尔g41显卡 linux驱动,下载:Intel G41/G43/G45显卡驱动15.13版
- 阿里员工:最惨P7,33岁才28K,前景堪忧啊!!
- 欢迎关注! 光影人像 公众号!
热门文章
- Qt5下OpenGL程序的新写法
- 扩展 日历_2021少林日历 | 以最美的方式记录时光
- java list 拼接 字符串数组_把数组所有元素排序,并按照“参数=参数值”的模式用“”字符拼接成字符串...
- mysql 索引 normal_mysql索引类型 normal, unique, full text
- 查看mysql整个库的数据大小_查看mysql数据库容量大小
- SecureCRT安装的注意事项
- android 电源管理 关闭屏幕,Android之PowerManager电源管理
- python让用户输入一个列表_Python:如何将用户输入添加到列表中?
- 微信8.0.6正式发布,新增了7大变化,个个实用~
- 皮一皮:加了个班还以为鬼门大开魔界连同了...