【解析】TensorBoard 可视化
在深度学习之中,可视化是必不可少的关键一步,虽然很多时候可以将需要的信息在输出窗口打印出来,但是能表达的信息是在太少,比如 loss趋势图、acc趋势图、权重分布图等等,都难以描述出来;Tensorboard 本是为了 Tensorflow而设计的一款可视化工具,后期 Pytorch 也引入支持,极大的小伙伴们的学习难度,虽然也有其他可视化工具支持,但是 Tensorboard可以直接迁移过来使用,上手还是更快。
官方链接:https://pytorch.org/docs/stable/tensorboard.html
毫无疑问,在使用 tensorboard 之前,需要先安装
pip install tensorboard
Tensorboard 主要的类是 SummaryWriter,所以在使用 Tensorboard 的时候,我们需要先创建一个 SummaryWriter 实例
from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter()
在 PyCharm 的 Terminal 中输入 以下命令即可
注意⚠️:Terminal 的路径必须是在本工程下,不然可能会报错 或 得到意想不到的事!
# 在PyCharm 的 Terminal 中输入
tensorboard --logdir=runs# 退出 Tensorboard
CTRL + C 键
1、SummaryWriter主要方法
1.1 add_scalar
add_scalar(tag, scalar_value, global_step=None, walltime=None)
Add scalar data to summary.
- tag (string) – Data identifier
- scalar_value (float or string/blobname) – Value to save
- global_step (int) – Global step value to record
- walltime (float) – Optional override default walltime (time.time()) with seconds after epoch of event
1.2 add_scalars
add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)
Adds many scalar data to summary.
- main_tag (string) – The parent name for the tags
- tag_scalar_dict (dict) – Key-value pair storing the tag and corresponding values
- global_step (int) – Global step value to record
- walltime (float) – Optional override default walltime (time.time()) seconds after epoch of event
1.3 add_graph
add_graph(model, input_to_model=None, verbose=False)
Add graph data to summary.
Parameters
- model (torch.nn.Module) – Model to draw.
- input_to_model (torch.Tensor or list of torch.Tensor) – A variable or a tuple of variables to be fed.
- verbose (bool) – Whether to print graph structure in console.
1.4 add_histogram
add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None)
Add histogram to summary.
- tag (string) – Data identifier
- values (torch.Tensor, numpy.array, or string/blobname) – Values to build histogram
- global_step (int) – Global step value to record
- bins (string) – One of {‘tensorflow’,’auto’, ‘fd’, …}. This determines how the bins are made.
- walltime (float) – Optional override default walltime (time.time()) seconds after epoch of event
1.5 add_image
add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')
Add image data to summary.
Note that this requires the pillow package.
- tag (string) – Data identifier
- img_tensor (torch.Tensor, numpy.array, or string/blobname) – Image data
- global_step (int) – Global step value to record
- walltime (float) – Optional override default walltime (time.time()) seconds after epoch of event
Shape:
img_tensor: Default is (3,H,W)(3,H,W)(3,H,W). You can use torchvision.utils.make_grid() to convert a batch of tensor into 3×H×W3\times H\times W3×H×W format or call add_images and let us do the job. Tensor with (1,H,W),(H,W),(H,W,3)(1,H,W) , (H,W) , (H,W,3)(1,H,W),(H,W),(H,W,3) is also suitable as long as corresponding dataformats argument is passed, e.g. CHW, HWC, HW.
1.6 add_images
add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')
Add batched image data to summary.
Note that this requires the pillow package.
- tag (string) – Data identifier
- img_tensor (torch.Tensor, numpy.array, or string/blobname) – Image data
- global_step (int) – Global step value to record
- walltime (float) – Optional override default walltime (time.time()) seconds after epoch of event
- dataformats (string) – Image data format specification of the form NCHW, NHWC, CHW, HWC, HW, WH, etc.
Shape:
img_tensor: Default is (N,3,H,W). If dataformats is specified, other shape will be accepted. e.g. NCHW or NHWC.
2、测试
测试代码
from torch.utils.tensorboard import SummaryWriter
import numpy as npwriter = SummaryWriter()for n_iter in range(100):writer.add_scalar('Loss/train', np.random.random(), n_iter)writer.add_scalar('Loss/test', np.random.random(), n_iter)writer.add_scalar('Accuracy/train', np.random.random(), n_iter)writer.add_scalar('Accuracy/test', np.random.random(), n_iter)writer.close()
当运行完 测试代码/项目工程之后,默认情况下,会在项目下生成一个 rans 的文件夹,文件夹内就是运行的结果,接下来,我们需要在 PyCharm 的 Terminal 中输入 以下命令即可
注意⚠️:Terminal 的路径必须是在本工程下,不然可能会报错 或 得到意想不到的事!
在Terminal 运行完之后,会看到 一个蓝色的 http://localhost:6006/,点击就会自动进入 Tensorboard 的网页界面,见效果图
# 在PyCharm 的 Terminal 中输入
tensorboard --logdir=runs# 退出 Tensorboard
CTRL + C 键
Win系统
Mac
效果
问题
对于win系统用户而言,可能出现没有相应的趋势图,原因又可能是 浏览器的问题,在此推荐使用火狐浏览器,即可轻松解决
【解析】TensorBoard 可视化相关推荐
- TensorFlow(2)图(默认图与自定义图) TensorBoard可视化
目录 一.图 1.默认图 1.调用方法查看默认图属性 2..graph查看图属性 代码 2.自定义图(创建图) 1.创建自定义图 2.创建静态图 3.开启会话(运行) 4.查看自定义图 代码 二.Te ...
- TensorFlow之图结构与TensorBoard可视化
TensorFlow之图结构与TensorBoard可视化 1.1 什么是图结构 图包含了一组tf.Operation代表的计算单元对象和tf.Tensor代表的计算单元之间流动的数据. 1.2 图相 ...
- keras和tensorflow使用 keras.callbacks.TensorBoard 可视化数据
此文首发于我的个人博客:keras和tensorflow使用 keras.callbacks.TensorBoard 可视化数据 - zhang0peter的个人博客 TensorBoard 是一个非 ...
- PyTorch中如何使用tensorboard可视化
PyTorch中如何使用tensorboard可视化 调用代码: from logger
- 【深度学习】Tensorboard可视化模型训练过程和Colab使用
[深度学习]Tensorboard可视化模型训练过程和Colab使用 文章目录 1 概述 2 手撸代码实现 3 Colab使用3.1 详细步骤3.2 Demo 4 总结 1 概述 在利用TensorF ...
- TF之CNN:基于CIFAR-10数据集训练、检测CNN(2+2)模型(TensorBoard可视化)
TF之CNN:基于CIFAR-10数据集训练.检测CNN(2+2)模型(TensorBoard可视化) 目录 1.基于CIFAR-10数据集训练CNN(2+2)模型代码 2.检测CNN(2+2)模型 ...
- TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化)
TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化) 目录 输出结果 代码设计 输出结果 代码设计 import tenso ...
- TF之DNN:对DNN神经网络进行Tensorboard可视化(得到events.out.tfevents本地服务器输出到网页可视化)
TF之DNN:对DNN神经网络进行Tensorboard可视化(得到events.out.tfevents本地服务器输出到网页可视化) 目录 输出结果 代码设计 输出结果 代码设计 import te ...
- TF学习——TF之Tensorboard:Tensorflow之Tensorboard可视化简介、入门、使用方法之详细攻略
TF学习--TF之Tensorboard:Tensorflow之Tensorboard可视化简介.入门.使用方法之详细攻略 目录 Tensorboard简介 Tensorboard各个板块入门 Ten ...
- Tensorboard—使用keras结合Tensorboard可视化
1. keras如何使用tensorboard keras使用tensorboard是通过回调函数来实现的,关于什么是keras的"回调函数",这里就不再赘述了,所以Tensorb ...
最新文章
- linux 查看网络 wait
- 【ML】 李宏毅机器学习一:error
- 【已解决】java.lang.NullPointerException at line 15, Solution.r
- .NET系列 之 开源和不开源的背后
- Linux Shell脚本入门教程系列之(一)Shell简介
- 常用 AT 命令手册
- centos 6 apt.sw.be 错误 无法yum安装软件解决方案
- vue-cli2.0+webpack 项目搭建
- 毕设项目 - 基于SSM的教师工作考核绩效管理系统(含源码+论文)
- linux环境使用c语言获取系统时间,并拼接成字符串
- Newton-Raphson算法
- ORACLE 几种同步灾备手段(OGG,ADG,DSG,高级复制,流复制,logmnr)
- 时间序列分析之指数平滑法(holt-winters及代码)
- 如何降低TCP三次握手延迟负面影响
- matlab网络通讯消息响应,nevoVI FIRE——实现PC与CAN和LIN网络通信
- matlab中的sig函数,MATLAB——sigmoid传递函数
- 中文/英文 文本相似度/文本推理/文本匹配数据集汇总(SNLI、MSRP、MultiNLI、Quora、SciTail、SICK、STS、CCKS2018、LCQMC、OCNLI、XNLI)
- 百度云盘搜索助手 V1.2
- Android 音乐播放器制作(带有通知栏、Widget小挂件)
- Word转PDF用什么软件?建议收藏这些软件