Tensorboard的使用

本文介绍了如何在Python环境中安装TensorBoard,设置日志目录,以及如何使用SummaryWriter添加标量数据(如损失函数)和图像数据(如训练结果)。包括了从头开始创建SummaryWriter,添加标量值和图像的详细步骤。
摘要由CSDN通过智能技术生成

安装TensorBoard

虚拟环境终端输入以下命令

pip install tensorboard

打开TensorBoard

tensorboard --logdir=logs
#logdir=事件文件所在文件夹名

tensorboard --logdir=logs --port=6007
#修改端口打开TensorBoard

在这里插入图片描述在这里插入图片描述如果图像出现和上一和函数重复的问题,删掉事件文件,重新打开TensorBoard
在这里插入图片描述

SummaryWriter的使用

Writes entries directly to event files in the log_dir to be
consumed by TensorBoard.
直接将条目写入log_dir的事件文件,供 TensorBoard 使用。

初始化

from torch.utils.tensorboard import SummaryWriter

# create a summary writer with automatically generated folder name.
writer = SummaryWriter()
# folder location: runs/May04_22-14-54_s-MacBook-Pro.local/

# create a summary writer using the specified folder name.
writer = SummaryWriter("my_experiment")
# folder location: my_experiment

# create a summary writer with comment appended.
writer = SummaryWriter(comment="LR_0.1_BATCH_16")
# folder location: runs/May04_22-14-54_s-MacBook-Pro.localLR_0.1_BATCH_16/

add_scalar()

Adds many scalar data to summary.
在summary中添加标量数据

add_scalar(self, tag, scalar_value, global_step=None)
Args:
tag (string): Data identifier
scalar_value (float or string/blobname): Value to save 类似于纵坐标
global_step (int): Global step value to record 类似于横坐标

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs")
x = range(100)
for i in x:
    writer.add_scalar('y=2x', i * 2, i)
writer.close()

add_images()

Add batched image data to summary.
常用来观察训练结果

add_image(self, tag, img_tensor, global_step=None)
Args:
tag (string): Data identifier
img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data
global_step (int): Global step value to record
Shape:
img_tensor: Default is :math:(3, H, W). You can use torchvision.utils.make_grid() to convert a batch of tensor into 3xHxW format or call add_images and let us do the job.
Tensor with :math:(1, H, W), :math:(H, W), :math:(H, W, 3) is also suitable as long as corresponding dataformats argument is passed, e.g. CHW, HWC, HW.
eg. dataformats='HWC'

利用Opencv读取图片,获得numpy型图片数据

安装Opencv

pip install opencv-python

利用numpy.arrary(),对PIL图片进行转换

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

writer = SummaryWriter("logs")
image_path="data/train/ants_image/0013035.jpg"
img_PIL = Image.open(image_path) #获取PIL类型图片,打开图片
img_array = np.array(img_PIL) #对PIL类型图片进行转换
print(img_array.shape) #输出图片的shape显示是HWC(高度,宽度,通道)类型,需要用dataformats='HWC'转换为HWC类型

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

x = range(100)
for i in x:
    writer.add_scalar('y=2x', i * 2, i)
writer.close()

打开TensorBoard,出现图片
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值