Keras-训练可视化
Keras训练可视化
简介
在上一篇文章中提到了模型训练的很多细节,最后的实战是在训练完成后可视化训练过程的,实际上对于大型深度学习项目,实时可视化训练状况是必要的。但是,由于Keras对训练过程封装程度非常高(高到只能调用fit这类函数进行训练),像动态图那样循环过程中不断写入log进行可视化是很难做到的,Keras在这方面提供了一个可视化的回调函数—TensorBoard。
训练可视化
在Keras中想要进行训练可视化最快速方便的选择就是其主模块TensorFlow支持的TensorBoard模块,该模块在较新版本的TensorFlow中默认安装,如没有需要自行使用pip安装。
首先,命令行打开TensorBoard的后台服务,在需要监控log文件夹的目录下执行命令tensorboard --log_dir=logs/
即可,指定的日志文件夹需要与代码中回调函数设置的一致。
使用keras.callbacks.TensorBoard(log_dir='./logs')
进行TensorBoard的文件写入,不需要像TensorFlow训练那样自己添加TensorBoard中的graph
、scalar
等,该函数唯一的参数是Keras自动写入TensorBoard日志的文件夹,TensorBoard服务监控的文件夹需要是该文件夹才行。
上述的回调提供了一种非常简单的使用TensorBoard进行可视化的方法,不需要用户设定日志文件名和写入日志文件,Keras会自动写入默认格式的日志文件。
下面以Caltech101数据集上的训练为例,演示可视化训练结果,代码如下。
"""
Author: Zhou Chen
Date: 2020/3/24
Desc: desc
"""
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = "2"
import tensorflow.keras as keras
from tensorflow.keras.layers import Input, GlobalAveragePooling2D, Dropout, Dense
from dataset import Caltech101def build_model(input_shape, n_classes):input_tensor = Input(shape=input_shape)vgg = keras.applications.VGG16(include_top=False, weights=None, input_tensor=input_tensor)x = GlobalAveragePooling2D()(vgg.output)x = Dropout(0.5)(x)x = Dense(n_classes, activation='softmax')(x)model = keras.models.Model(input_tensor, x)return modelmodel = build_model((224, 224, 3), 101)
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(3e-4), metrics=['accuracy'])callbacks = [keras.callbacks.TensorBoard("./logs")
]train_gen, valid_gen, test_gen = Caltech101()model.fit_generator(train_gen, steps_per_epoch=train_gen.n// train_gen.batch_size,epochs=50,callbacks=callbacks
)
Keras封装的默认TensorBoard日志文件输出包括几个指标每轮的变化以及模型结构示意图。
补充说明
本文主要介绍Keras中如何使用TensorBoard进行训练可视化,具体代码开源于我的Github,欢迎star或者fork。
Keras-训练可视化相关推荐
- 使用Keras训练历史可视化(含踩雷)
Keras训练历史可视化 Keras训练历史可视化示例代码 注意 Keras训练历史可视化示例代码 import matplotlib.pyplot as plthistory = model.fit ...
- CNN训练可视化特征图(tensorflow2.x实现)
CNN训练可视化(tensorflow2.x实现) 原理介绍 实例化VGG16 加载图片并进行预处理 预测图片 获取指定层对应的输出 可视化CNN训练过程 原理介绍 卷积层由多个卷积核组成,可以将每个 ...
- YOLOv5的Tricks | 【Trick11】在线模型训练可视化工具wandb(Weights Biases)
如有错误,恳请指出. 与其说是yolov5的训练技巧,这篇博客更多的记录如何使用wandb这个在线模型训练可视化工具,感受到了yolov5作者对其的充分喜爱. 所以下面内容更多的记录下如何最简单的使用 ...
- C++ 和 OpenCV 实现卷积神经网络并加载 Keras 训练好的参数进行预测
C++ 和 OpenCV 实现卷积神经网络并加载 Keras 训练好的参数进行预测 一. 背景 二. Keras 定义神经网络结构 channels_first 与 channels_last cha ...
- 使用Keras训练自动驾驶(使用Udacity自动驾驶模拟器)
使用Keras训练自动驾驶(使用Udacity自动驾驶模拟器) 1.完成项目所需要的资源 (1)模拟器下载 • Linux • macOS • Windows (2)Unity 下载 运行Udacit ...
- PyTorch深度学习训练可视化工具tensorboardX
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 之前笔者提到了PyTorch的专属可视化工具visdom,参看Py ...
- Keras训练神经网络进行分类并使用GridSearchCV进行参数寻优
Keras训练神经网络进行分类并使用GridSearchCV进行参数寻优 在机器学习模型中,需要人工选择的参数称为超参数.比如随机森林中决策树的个数,人工神经网络模型中隐藏层层数和每层的节点个数,正则 ...
- Keras训练神经网络进行分类并进行交叉验证(Cross Validation)
Keras训练神经网络进行分类并进行交叉验证(Cross Validation) 交叉验证是在机器学习建立模型和验证模型参数时常用的办法.交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切 ...
- 【深度学习】PyTorch深度学习训练可视化工具visdom
PyTorch Author:louwill Machine Learning Lab 在进行深度学习实验时,能够可视化地对训练过程和结果进行展示是非常有必要的.除了Torch版本的TensorBoa ...
- PyTorch项目使用TensorboardX进行训练可视化
PyTorch项目使用TensorboardX进行训练可视化 什么是TensorboardX 配置TensorboardX 使用 pip 安装 从源码安装 使用TensorboardX 参考资料 什么 ...
最新文章
- WINCE6.0+S3C2443睡眠和唤醒(sleep and wake up)的实现
- 条款6:若不想使用编译器自动生成的函数,就该明确拒绝
- 微信重磅更新!这个功能等了 7 年
- [完结]以C++与Java为例,详解数据结构的动态增长策略
- oracle rman备份整库,RMAN备份恢复整个库
- 字符串转数字测试--知识备忘
- python怎么用turtle画圆_在Python中用turtle函数画同心圆
- 作用 和会话期 进程组_进程 进程组 会话的关系及作用
- Node.js学习笔记(五)——WebSocket
- java软件工程师工作业绩_java软件工程师的工作描述怎么写
- mac屏幕分辨率调整:SwitchResX
- zabbix查询历史数据
- 【生产优化】基于matlab遗传算法求解帐篷工序问题【含Matlab源码 2145期】
- 如何更新服务器系统教程,服务器操作系统如何更新
- (与运算)、|(或运算)、^(异或运算)等运算符的解释与运用
- 机器学习:线性回归以及非线性回归
- Moba项目开发(一)打造网络通信系统-任务3:03.定制通信报文的格式
- 【zotero】从知网万方维普WOS等数据库上导出格式引文-引文格式到zotero中
- 《目标检测蓝皮书》第1篇 机器学习基础
- 运营商大数据系列(一) LTE信令数据简析
热门文章
- 仓库的种类和彼此关系
- RocketMQ的Consumer详解之push和pull模式(长轮询)
- spring基于纯注解的声明式事务控制
- SpringBoot异常处理-@ControlleAdvice
- 内置方法-str方法定制变量输出信息
- 开始使用Spring Cloud实战微服务
- plsql(轻量版)-存储函数存储过程
- Android从url不产生cookie,如何从android.webkit.CookieManager获取所有cookie或cookie的URL
- win32 输出文字时清除之前的_努力学习没效果?3个步骤,强化沟通输出,实现飞跃式成长...
- 201101shell脚本