import keras
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()model.fit(x, y, batch_size=32, nb_epoch=20,validation_data=(xt,yt),validation_steps=None,callbacks=[history]) history.loss_plot('epoch')train loss 不断下降,test loss不断下降,说明网络仍在学习;
train loss 不断下降,test loss趋于不变,说明网络过拟合;
train loss 趋于不变,test loss不断下降,说明数据集100%有问题;
train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;
train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题

keras 训练 loss和acc可视化相关推荐

  1. 验证和训练loss和acc多种情况分析

    首先要明确一点刚开始的时候loss一定是个不为0且合理的值,接近为0那么就意味着你这个网络已经梯度消失,可以换网络或者是改网络了,要么就是数据集有问题,要么就是loss函数有问题. 1,假设你的数据集 ...

  2. R语言使用keras包实现包含多个全连接层的二分类预测模型:在模型训练过程中动态可视化每个epoch后的loss值以及accuray值

    R语言使用keras包实现包含多个全连接层的二分类预测模型:在模型训练过程中动态可视化每个epoch后的loss值以及accuray值 目录

  3. 使用Keras训练历史可视化(含踩雷)

    Keras训练历史可视化 Keras训练历史可视化示例代码 注意 Keras训练历史可视化示例代码 import matplotlib.pyplot as plthistory = model.fit ...

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

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

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

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

  6. Python - 深度学习训练过程使用matplotlib.pyplot实时动态显示loss和acc曲线

    1 深度学习训练过程中实时动态显示loss和acc曲线 可参考代码如下: # -*- coding: utf-8 -*-import matplotlib.pyplot as pltif __name ...

  7. 保存与加载Keras训练好的模型

    简介 可以在训练过程中和训练完成后保存模型,这样就可以很方便地恢复和重用模型,节省模型训练时间. 这样也便于别人使用你的模型,一般有两种方式共享模型: 创建模型的源码 训练好的模型(包括权重.参数等) ...

  8. C++ 和 OpenCV 实现卷积神经网络并加载 Keras 训练好的参数进行预测

    C++ 和 OpenCV 实现卷积神经网络并加载 Keras 训练好的参数进行预测 一. 背景 二. Keras 定义神经网络结构 channels_first 与 channels_last cha ...

  9. 使用Keras训练自动驾驶(使用Udacity自动驾驶模拟器)

    使用Keras训练自动驾驶(使用Udacity自动驾驶模拟器) 1.完成项目所需要的资源 (1)模拟器下载 • Linux • macOS • Windows (2)Unity 下载 运行Udacit ...

最新文章

  1. Mathematica图片局部变色
  2. 总是忘记的oracle 函数
  3. Linux忘记root密码怎么办?
  4. oracle 插入时if,关于sql:ORACLE:如果不存在则插入行-重复键错误
  5. Disruptor 分析
  6. HDU-5876 Sparse Graph
  7. python settings模块导入不了_Django:无法导入“模块”。检查模块AppConfig.name是否正确 - python...
  8. 联合国为何 Pick 腾讯?
  9. 怎么让同网络计算机强制关机,知道局域网ip怎么关机
  10. openssl学习笔记--CA及https网站证书配置
  11. 【BERT】如何提升BERT在下游任务中的性能
  12. java long转float_Java中为什么long能自动转换成float类型
  13. 米联ZYNQ7Z020系列的以太网网口芯片RTL8211FD自适应速度的问题
  14. PCAT 点云标注软件
  15. ubuntu eclipse java_ubuntu 下安装eclipse amp;java环境配置
  16. 不可不知,专业名词解释
  17. Android开发:手机震动工具类
  18. 软考高级系统架构设计师系列论文七:论基于构件的软件开发
  19. 通达OA2019升级到V12的操作方法
  20. 股票类APP排名:同花顺第一、大智慧第二、东方财富网第三

热门文章

  1. 模糊数学——分解定理
  2. 牛顿迭代法(Newton’s Method)迭代求根的Python程序
  3. OSpider v3.0.0 用户手册
  4. 汽车金融风控企业如何开展风控体系建设
  5. linux 问题-——退出vi编辑器 wq失效
  6. 12306采用Pivotal GemFire分布式解决方案 解决尖峰高流量并发
  7. day94-20180921-英语流利阅读
  8. DOCKER BUILD失败:ERROR CHECKING CONTEST: NOT FOUND OR EXCLUDED BY .DOCKERIGNORE.
  9. ABB机器人 String 的读取和写入
  10. 开普互联心系农民 服务三农