keras画acc和loss曲线图

原文:http://blog.csdn.net/u013381011/article/details/78911848
#加载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曲线图相关推荐

  1. Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接、验证集)及效果可视化

    Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接.验证集)及效果可视化 在每个training/epoch/batch结束时,如果我们想执行某些任务,例如模型缓存. ...

  2. 吴恩达作业11:残差网络实现手势数字的识别(基于 keras)+tensorbord显示loss值和acc值

    一,残差网络实现手写数字识别 数据集地址:https://download.csdn.net/download/fanzonghao/10551018 首先来resnets_utils.py,里面有手 ...

  3. Python读取txt文件画Loss曲线图---txt文件转xls文件---xls文件转txt文件--xml文件转txt文件

    任务1- 读取.txt文件画折线图(曲线图) 任务2- 将.txt文件转换成.xls(excel)文件 任务3- 将.xls(excel)文件转换成.txt文件 任务4- 读取.txt文件画折线图(曲 ...

  4. keras版yolov3绘制acc和loss曲线

    keras版yolov3绘制acc和loss曲线 基本概念 程序 基本概念 loss表示损失函数值,随着训练过程的进行,loss会越来越小.acc表示模型预测准确率.写论文时,loss曲线和acc曲线 ...

  5. 深度学习技巧:如何显示多个模型的acc和loss曲线?

    好记性不如烂笔头,纯粹为自己的学习生活记录点什么! tensorboard 同时显示多个模型准确率和损失率 tensorboard 同时显示多个模型的accuracy和loss Found more ...

  6. 使用canvas画折线图和曲线图

    使用canvas画折线图和曲线图 贝塞尔曲线如果想要在p0=>p2的过程中经过p1,那么需要计算出pc的值,在canvas之中作为控制点 二次贝塞尔曲线转换为三次 上面只是简单介绍,具体的参考文 ...

  7. 520表白季,教你用matlab画动态心形曲线图,可自动保存GIF格式图片,送给女朋友,她们一定会惊讶,赶紧收藏!!!

    昨天发表了一篇用python教你画心形图表白的文章: 想要表白的看这里,教你用python画不同类型的心形图虏获芳心,值得收藏!! 里面详细介绍了各种心形图的画法以及最终的表白神器,值得点赞收藏!! ...

  8. 使用keras绘制实时的loss与acc曲线

    废话不多说,直接上代码,代码有注释,不懂得评论问博主即可 # -*- coding: utf-8 -*- import keras from keras.models import Sequentia ...

  9. Caffe如何画出训练中的loss曲线图和accuracy曲线图

    第一种方法:重定向训练日志文件 我们在训练的时候会用到caffe/buile/tools/caffe 这个里面的train这个选项.在输入之后,正常会显示训练日志的详细信息.想要画出这里面显示的los ...

最新文章

  1. 如何面对自己不喜欢的工作?
  2. JavaScript 初学者必看“箭头函数”
  3. 图解四种启动模式 及 实际应用场景解说
  4. 身份验证——《跟我学Shiro》
  5. [C++对象模型][9]虚继承与虚函数表
  6. 北京.net俱乐部博客园小组成立了
  7. CCF201512-5 矩阵【矩阵快速幂】(募集解题代码)
  8. JAVAEE工程师-2年经验-个人简历
  9. 一文读懂!最新Transformer预训练模型综述!
  10. Java蓝桥杯 算法提高 九宫格
  11. 行业观察:OA产品泛滥,如何慧眼如炬?
  12. java网络编程(网络通信)
  13. 牛客网——求最小公倍数
  14. 计算机图形学(相关网址+大牛推荐+随时补充)
  15. 真实生活的记录:我三年的外企生涯(2) 出处:天涯虚拟社区
  16. c++知识点总结--共用体--枚举
  17. 计算机408考研究竟有多难?
  18. 因特尔g41显卡 linux驱动,下载:Intel G41/G43/G45显卡驱动15.13版
  19. 阿里员工:最惨P7,33岁才28K,前景堪忧啊!!
  20. 欢迎关注! 光影人像 公众号!

热门文章

  1. Qt5下OpenGL程序的新写法
  2. 扩展 日历_2021少林日历 | 以最美的方式记录时光
  3. java list 拼接 字符串数组_把数组所有元素排序,并按照“参数=参数值”的模式用“”字符拼接成字符串...
  4. mysql 索引 normal_mysql索引类型 normal, unique, full text
  5. 查看mysql整个库的数据大小_查看mysql数据库容量大小
  6. SecureCRT安装的注意事项
  7. android 电源管理 关闭屏幕,Android之PowerManager电源管理
  8. python让用户输入一个列表_Python:如何将用户输入添加到列表中?
  9. 微信8.0.6正式发布,新增了7大变化,个个实用~
  10. 皮一皮:加了个班还以为鬼门大开魔界连同了...