Pytorch入门-TensorBoard

What

TensorBoard是TensorFlow自带的一个强大的可视化工具,也是一个Web应用程序套件。

torch.utils.tensorboardPyTorch 提供的一个用于将标量图像直方图和其他信息记录到 TensorBoard 中的实用程序包。TensorBoardTensorFlow 提供的一个可视化工具,但 PyTorch 也提供了与 TensorBoard 兼容的接口,使得 PyTorch 用户能够利用 TensorBoard 的强大可视化功能。

HOW

SummaryWriter

SummaryWriter 是 PyTorch 的 torch.utils.tensorboard 模块中的一个类,它用于将模型训练过程中的信息记录到 TensorBoard 中。通过 SummaryWriter,你可以将标量、图像、直方图、文本等数据写入到 TensorBoard 的日志文件中,以便在 TensorBoard 的 Web 界面中进行可视化。


使用SummaryWriter的步骤

  1. 创建SummaryWriter对象
from torch.utils.tensorboard import SummaryWriter  

writer = SummaryWriter(log_dir='runs/experiment-1')
  1. 写入数据
  • add_scalar(tag, scalar_value, global_step=None)
    用于记录标量数据,tag相当于title,scalar_value相当于y,global_step相当于x
  • add_image(tag, img_tensor, global_step=None, walltime=None)
  1. 关闭 SummaryWriter
writer.close()
  1. 启动TensorBoard
    在命令行输入如下命令
tensorboard --logdir="文件夹名字" [--port=要使用的端口名]

from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter("logs")

for i in range(100):
    writer.add_scalar("y=x",i,i)

writer.close()

image
image


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

writer = SummaryWriter("logs")
img_path = "data/train/ants_image/6240329_72c01e663e.jpg"
img_PIL = Image.open(img_path)
img_array = np.array(img_PIL)
print(img_array.shape)

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

writer.close()

dataformats='HWC':
这指定了img_array的数据格式。HWC表示“高度-宽度-通道”(Height-Width-Channels)。这意味着img_array的第一个维度是图像的高度,第二个维度是宽度,第三个维度是颜色通道(例如,RGB)。
还有其他常见的格式,如CHW(通道-高度-宽度),这取决于你使用的库和数据的表示方式。

img_PIL = Image.open(img_path)
img_array = np.array(img_PIL)
print(img_array.shape)

上面采用HWC的原因
image

posted @ 2024-03-13 14:58  cxy8  阅读(12)  评论(0编辑  收藏  举报