PyTorch 可视化工具TensorBoard和Visdom

目录
  • 一、TensorBoard
  • 二、Visdom

一、TensorBoard

TensorBoard 一般都是作为 TensorFlow 的可视化工具,与 TensorFlow 深度集成,它能够展现 TensorFlow 的网络计算图,绘制图像生成的定量指标图以及附加数据等。

此外,TensorBoard 也是一个独立工具,在 PyTorch 中也可使用它进行可视化。

1、安装:

pip install tensorboard

2、启动:

tensorboard --logdir="日志目录"

启动 tensorboard 时,可指定 logdir、port(默认6006)、host(默认localhost)等参数:

usage: tensorboard [-h] [--helpfull] [--logdir PATH] [--logdir_spec PATH_SPEC]
                   [--host ADDR] [--bind_all] [--port PORT]
                   [--purge_orphaned_data BOOL] [--db URI] [--db_import]
                   [--inspect] [--version_tb] [--tag TAG] [--event_file PATH]
                   [--path_prefix PATH] [--window_title TEXT]
                   [--max_reload_threads COUNT] [--reload_interval SECONDS]
                   [--reload_task TYPE] [--reload_multifile BOOL]
                   [--reload_multifile_inactive_secs SECONDS]
                   [--generic_data TYPE]
                   [--samples_per_plugin SAMPLES_PER_PLUGIN]
                   [--debugger_data_server_grpc_port PORT]
                   [--debugger_port PORT] [--master_tpu_unsecure_channel ADDR]

3、Tensorboard 可视化演示(PyTorch 框架):

训练模型,导入tensorboard. SummaryWriter 保存loss、accuracy 等日志信息。

# 导入SummaryWriter
from torch.utils.tensorboard import SummaryWriter
...
# 创建SummaryWriter实例,指定log_dir的位置
summaryWriter = SummaryWriter(log_dir="/Users/liyunfei/PycharmProjects/python3practice/06DL/fcnn/logs")
...
# 模型训练时,写入train_loss、test_loss、score等信息
summaryWriter.add_scalars("loss", {"train_loss_avg": train_loss_avg, "test_loss_avg": test_loss_avg}, epoch)
summaryWriter.add_scalar("score", score, epoch)

启动 TensorBoar ,训练过程可视化。

1)启动命令:

tensorboard --logdir=/Users/liyunfei/PycharmProjects/python3practice/06DL/fcnn/logs

2)启动成功如图示:

3)可视化结果如下:

二、Visdom

VisdomFacebook 专门为 PyTorch 开发的一款可视化工具,能够支持“远程数据”的可视化,支持 Torch 和 Numpy。GitHub 地址:https://github.com/fossasia/visdom

1、安装:

pip install visdom

2、启动:

python -m visdom.server

-m 是以模块服务启动
如果是 linux/mac-os 环境,可以使用以下命令启动运行在后台

nohup python -m visdom.server &

启动 Visdom 时,可以指定 port(默认8097)、hostname(默认localhost)等其它参数:

usage: server.py [-h] [-port port] [--hostname hostname] [-base_url base_url]
                 [-env_path env_path] [-logging_level logger_level]
                 [-readonly] [-enable_login] [-force_new_cookie]
                 [-use_frontend_client_polling]

3、Visdom 可视化演示

1)启动 Visdom:

python -m visdom.server -port 8097

2)启动成功如下:

3)训练过程可视化代码:

# 导入visdom包
import visdom

# 创建Visdom对象,连接服务端,指定env环境(不指定默认env="main")
viz = visdom.Visdom(server='http://localhost', port=8097, env='liyunfei')
...
viz.line([0.], [0], win='train_loss', opts=dict(title='train_loss'))
viz.line([0.], [0], win='accuracy', opts=dict(title='accuracy'))
...
# 模型训练时,实时可视化loss、accuracy等信息。
viz.line([train_loss_avg], [epoch], win='train_loss', update='append')
viz.line([accuracy], [epoch], win='accuracy', update='append')

4)可视化结果:

5)其它操作——可视化一张/多张图片:
示例:

import visdom
import numpy as np

viz = visdom.Visdom(server='http://localhost', port=8097, env='liyunfei')

# 一张图片
viz.image(
    np.random.rand(3, 512, 256),
    opts=dict(title='Random!', caption='How random.'),
)
# 多张图片
viz.images(
    np.random.randn(20, 3, 64, 64),
    nrow=5,
    opts=dict(title='Random images', caption='How random.')
)

效果:

6)Visdom 的更多可视化 API(常用的是 line、image、text):

vis.scatter : 2D 或 3D 散点图
vis.line : 线图
vis.stem : 茎叶图
vis.heatmap : 热力图
vis.bar : 条形图
vis.histogram: 直方图
vis.boxplot : 箱型图
vis.surf : 表面图
vis.contour : 轮廓图
vis.quiver : 绘出二维矢量场
vis.image : 图片
vis.text : 文本
vis.mesh : 网格图
vis.save : 序列化状态

到此这篇关于PyTorch 可视化工具TensorBoard和Visdom的文章就介绍到这了,更多相关PyTorch 可视化工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • pytorch visdom安装开启及使用方法

    安装 conda activate ps pip install visdom 激活ps的环境,在指定的ps环境中安装visdom 开启 python -m visdom.server 浏览器输入红框内的网址 使用 1. 简单示例:一条线 from visdom import Visdom # 创建一个实例 viz=Visdom() # 创建一个直线,再把最新数据添加到直线上 # y x二维两个轴,win 创建一个小窗口,不指定就默认为大窗口,opts其他信息比如名称 viz.line([1,2

  • Pytorch中的Tensorboard与Transforms搭配使用

    这章是结合之前学习的Tensforboard与Transforms的一个练习. 直接上代码: from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms import os root_path = "D:\\data\\basic\\Image" lable_path = "aligned" img_dir = o

  • pytorch + visdom 处理简单分类问题的示例

    环境 系统 : win 10 显卡:gtx965m cpu :i7-6700HQ python 3.61 pytorch 0.3 包引用 import torch from torch.autograd import Variable import torch.nn.functional as F import numpy as np import visdom import time from torch import nn,optim 数据准备 use_gpu = True ones = n

  • Pytorch可视化之Visdom使用实例

    目录 一.Visdom简介 二.安装和运行 三.可视化例子 1.输出Hello World! 2.显示图像 3.绘制散点图 4.绘制线条 4.1 绘制一条直线 4.2 绘制两条直线 4.3 绘制正弦曲线 总结 一.Visdom简介 Visdom是由Facebook公司开发的一个进行数据可视化的Web应用程序,支持Torch.Numpy.Pytorch这3个库的创建.管理和分享实时的数据可视化结果. 二.安装和运行 可直接使用pip进行安装,命令如下: pip install visdom 安装过

  • Pytorch用Tensorboard来观察数据

    目录 1.Tensorboard 1.使用add_scalar()输入代码 2.使用add_image()输入代码 上一章讲数据的处理,这一章讲数据处理之后呈现的结果,即你有可能看到Loss的走向等,这样方便我们调试代码. 1.Tensorboard 有两个常用的方法: 一个是add_scalar()显:示曲线 一个是add_image()显示图像 首先安装Tensorboard 在你的编译环境(conda activate XXX)中输入命令 pip install tensorboard 1

  • pytorch下tensorboard的使用程序示例

    目录 一.tensorboard程序实例: 1.代码 2.在命令提示符中操作 3.在浏览器中打开网址 4.效果 二.writer.add_scalar()与writer.add_scalars()参数说明 1.概述 2.参数说明 3.writer.add_scalar()效果 4.writer.add_scalars()效果 我们都知道tensorflow框架可以使用tensorboard这一高级的可视化的工具,为了使用tensorboard这一套完美的可视化工具,未免可以将其应用到Pytorc

  • pytorch + visdom CNN处理自建图片数据集的方法

    环境 系统:win10 cpu:i7-6700HQ gpu:gtx965m python : 3.6 pytorch :0.3 数据下载 来源自Sasank Chilamkurthy 的教程: 数据:下载链接. 下载后解压放到项目根目录: 数据集为用来分类 蚂蚁和蜜蜂.有大约120个训练图像,每个类有75个验证图像. 数据导入 可以使用 torchvision.datasets.ImageFolder(root,transforms) 模块 可以将 图片转换为 tensor. 先定义transf

  • PyTorch 可视化工具TensorBoard和Visdom

    目录 一.TensorBoard 二.Visdom 一.TensorBoard TensorBoard 一般都是作为 TensorFlow 的可视化工具,与 TensorFlow 深度集成,它能够展现 TensorFlow 的网络计算图,绘制图像生成的定量指标图以及附加数据等. 此外,TensorBoard 也是一个独立工具,在 PyTorch 中也可使用它进行可视化. 1.安装: pip install tensorboard 2.启动: tensorboard --logdir="日志目录&

  • PyTorch 可视化工具TensorBoard和Visdom

    目录 一.TensorBoard 二.Visdom 一.TensorBoard TensorBoard 一般都是作为 TensorFlow 的可视化工具,与 TensorFlow 深度集成,它能够展现 TensorFlow 的网络计算图,绘制图像生成的定量指标图以及附加数据等. 此外,TensorBoard 也是一个独立工具,在 PyTorch 中也可使用它进行可视化. 1.安装: pip install tensorboard 2.启动: tensorboard --logdir="日志目录&

  • Tensorflow的可视化工具Tensorboard的初步使用详解

    当使用Tensorflow训练大量深层的神经网络时,我们希望去跟踪神经网络的整个训练过程中的信息,比如迭代的过程中每一层参数是如何变化与分布的,比如每次循环参数更新后模型在测试集与训练集上的准确率是如何的,比如损失值的变化情况,等等.如果能在训练的过程中将一些信息加以记录并可视化得表现出来,是不是对我们探索模型有更深的帮助与理解呢? Tensorflow官方推出了可视化工具Tensorboard,可以帮助我们实现以上功能,它可以将模型训练过程中的各种数据汇总起来存在自定义的路径与日志文件中,然后

  • TensorFlow可视化工具TensorBoard默认图与自定义图

    目录 一.图 1.默认图 1.调用方法查看默认图属性 2..graph查看图属性 代码 2.自定义图(创建图) 1.创建自定义图 2.创建静态图 3.开启会话(运行) 4.查看自定义图 代码 二.TensorBoard可视化 1.可视化处理 2. 打开TensorBoard 1.先移到文件夹的前面 2. 打开TensorBoard(从文件中获取数据) 3.打开给定的网址 总代码 一.图 图:数据(张量Tenrsor)+ 操作(节点Operation) (静态) 图可以用:1.默认图:2.自定义图

  • 教你如何在Pytorch中使用TensorBoard

    什么是TensorboardX Tensorboard 是 TensorFlow 的一个附加工具,可以记录训练过程的数字.图像等内容,以方便研究人员观察神经网络训练过程.可是对于 PyTorch 等其他神经网络训练框架并没有功能像 Tensorboard 一样全面的类似工具,一些已有的工具功能有限或使用起来比较困难 (tensorboard_logger, visdom等) .TensorboardX 这个工具使得 TensorFlow 外的其他神经网络框架也可以使用到 Tensorboard

  • Pytorch可视化的几种实现方法

    一,利用 tensorboardX 可视化网络结构 参考 https://github.com/lanpa/tensorboardX 支持scalar, image, figure, histogram, audio, text, graph, onnx_graph, embedding, pr_curve and video summaries. 例子要求tensorboardX>=1.2 and pytorch>=0.4 安装 pip install tensorboardX 或 pip

  • Pytorch中使用TensorBoard详情

    目录 前言 一. Introduction to TensorBoard 二.TensoBoard Pipeline 三.后端数据记录 1. SummaryWriter类 2. 添加数据 3. 关闭SummaryWriter 4. Summary 四.前端显示数据 1. 默认使用 2. 修改端口 五.Summary 1. SummaryWriter APIs 本文记录了如何在Pytorch中使用Tensorboard(主要是为了备忘) 前言 虽然我本身就会用TensorBoard,但是因为Ten

  • 分享4个最受欢迎的大数据可视化工具

    想像阅读书本一样阅读数据流?这只有在电影中才有可能发生. 在现实世界中,企业必须使用数据可视化工具来读取原始数据的趋势和模式. 大数据可视化是进行各种大数据分析解决的最重要组成部分之一. 一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了. 为了满足并超越客户的期望,大数据可视化工具应该具备这些特征: ·      能够处理不同种类型的传入数据 ·      能够应用不同种类的过滤器来调整结果 ·      能够在分析过程中与数据集进行交互 ·      能够连接到其他软件来接收输入数据

  • pytorch 可视化feature map的示例代码

    之前做的一些项目中涉及到feature map 可视化的问题,一个层中feature map的数量往往就是当前层out_channels的值,我们可以通过以下代码可视化自己网络中某层的feature map,个人感觉可视化feature map对调参还是很有用的. 不多说了,直接看代码: import torch from torch.autograd import Variable import torch.nn as nn import pickle from sys import path

随机推荐