Tensorboard简介及常用函数介绍

Tensorboard

Tensorboard是tensorflow内置的一个可视化工具,它通过将tensorflow程序输出的日志文件的信息可视化使得tensorflow程序的理解、调试和优化更加简单高效。Tensorboard的可视化依赖于tensorflow程序运行输出的日志文件,因而tensorboard和tensorflow程序在不同的进程中运行。

打开Pycharm,设置环境

Tensorboard简介及常用函数介绍

安装tensorboard

Tensorboard简介及常用函数介绍

; 常用函数

SummaryWriter()

SummaryWriter 创建一个tensorboard文件, 文件保存在log_dir 目录(自己指定的目录)写文件,该文件可以被tensorboard解析

参数:
log_dir: 保存目录位置。 默认值为 run/CURRENT_DATETIME_HOSTNAME ,每次运行后都会更改。
使用分层文件夹结构可以轻松比较运行情况。 例如 为每个新实验传递” runs / exp1″,” runs / exp2″等,以便在它们之间进行比较。
flush_secs: 表示写入tensorboard文件的时间间隔

调用方式如下:

writer = SummaryWriter(log_dir='logs',flush_secs=60)

writer.add_graph()

这个函数用于在tensorboard中创建Graphs,Graphs中存放了网络结构,其中常用参数有:

model:pytorch模型
input_to_model:pytorch模型的输入

writer.add_scalar()

这个函数用于在tensorboard中加入loss,其中常用参数有:

tag:标签,如下图所示的Train_loss
scalar_value:标签的值
global_step:标签的x轴坐标

writer.add_scalar('Train_loss', loss, (epoch*epoch_size + iteration))

tensorboard --logdir=

在完成tensorboard的logs文件的生成后,可在命令行调用该文件,tensorboard网址。
具体代码如下(版本不同,命令不同):

[En]

The specific code is as follows (commands vary from version to version):

tensorboard --logdir=logs

tensorboard --logdir="logs"

tensorboard --logdir "log"

也可指定端口名(一台服务器可能多个人在一起训练,同时使用一个端口可能冲突):

tensorboard --logdir=logs --port=6007

在完成tensorboard文件的生成后,可在命令行调用该文件,tensorboard网址。
具体代码如下:

Tensorboard简介及常用函数介绍

点击蓝色字体网站:

[En]

Click on the blue font website:

Tensorboard简介及常用函数介绍

Tensorboard简介及常用函数介绍

这一步出现错误可以参考:【解决方案汇总】No dashboards are active for the current data set. Probable causes_别下完这场雪-CSDN博客

代码示例:

"""
SummaryWriter 创建一个tensorboard文件, 文件保存在log_dir 目录写文件,该文件可以被tensorboard解析
参数:
log_dir:        保存目录位置。 默认值为 run/CURRENT_DATETIME_HOSTNAME ,每次运行后都会更改。
                使用分层文件夹结构可以轻松比较运行情况。 例如 为每个新实验传递“ runs / exp1”,“ runs / exp2”等,以便在它们之间进行比较。
flush_secs:     表示写入tensorboard文件的时间间隔
"""
from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter("logs")            # 创建SummaryWriter() 类实例,将对应的事件文件存储到 logs 文件中

writer.add_image()

"""
add_scalar(): 将数添加到summary中
参数:
tag: 图标的标题
scalar_value:   需要保存的数值,对应y轴
global_step:    训练到多少步的时候对应的数值是多少,对应x轴

"""
for i in range(100):
    writer.add_scalar("y = x", i, i)                       # 添加标量,即数

writer.close()

安装open-cv包: pip install opencv-python

Tensorboard简介及常用函数介绍

add_image()

绘制图片,可用于检查模型的输入,监测 feature map 的变化,或是观察 weight。
参数:

  • tag: 就是保存图的名称
  • img_tensor:图片的类型要是torch.Tensor, numpy.array, or string这三种
  • golbal_step:第几张图片
  • dataformats=’CHW’,默认CHW,tensor是CHW,numpy是HWC,C:channel H:high W:weight. 从PIL到numpy, 需要在add_image()中指定shape中每一个数字/维度的含义

从PIL到numpy,需要在add_image()中指定shape中每一个数字/维度的含义

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np

writer = SummaryWriter("logs")

image_path = "dataset/train/ants_image/0013035.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
print(type(img_array))
print(img_array.shape)

"""
add_image(): 绘制图片,可用于检查模型的输入,监测 feature map 的变化,或是观察 weight。
参数:
    tag: 就是保存图的名称
    img_tensor:图片的类型要是torch.Tensor, numpy.array, or string这三种
    golbal_step:第几张图片
    dataformats='CHW',默认CHW,tensor是CHW,numpy是HWC,C:channel H:high W:weight.

"""
writer.add_image("test", img_array, 1, dataformats='HWC')

writer.close()

执行上面的语句,在控制台输入 tensorboard --logdir=logs

Tensorboard简介及常用函数介绍

进入网站,点击Images:

Tensorboard简介及常用函数介绍

Original: https://blog.csdn.net/weixin_45468845/article/details/122734366
Author: 风吹我亦散
Title: Tensorboard简介及常用函数介绍

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/509019/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球