Tensorboard
Tensorboard是tensorflow内置的一个可视化工具,它通过将tensorflow程序输出的日志文件的信息可视化使得tensorflow程序的理解、调试和优化更加简单高效。Tensorboard的可视化依赖于tensorflow程序运行输出的日志文件,因而tensorboard和tensorflow程序在不同的进程中运行。
打开Pycharm,设置环境
安装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网址。
具体代码如下:
点击蓝色字体网站:
[En]
Click on the blue font website:
这一步出现错误可以参考:【解决方案汇总】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
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
进入网站,点击Images:
Original: https://blog.csdn.net/weixin_45468845/article/details/122734366
Author: 风吹我亦散
Title: Tensorboard简介及常用函数介绍
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/509019/
转载文章受原作者版权保护。转载请注明原作者出处!