Pytorc技巧 TensorBoard可视化的使用

Pytorc技巧 TensorBoard可视化的使用

首先pip install tensorboard

介绍

TensorBoard库在pytorch 1版本之后被引入,它的功能是可以将训练过程中的结果以图像的形式保存,如下
Pytorc技巧 TensorBoard可视化的使用_第1张图片
它既可以存储loss的训练过程,也可以存储图像的训练过程
Pytorc技巧 TensorBoard可视化的使用_第2张图片

入门

添加数据

这是一段简单的实例代码,下面就以他为例来解析一下

# -*- coding: utf-8 -*-
# @Time    : 2021/1/31 13:46
# @Author  : JokerTong
# @File    : demo1.py
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image

writer = SummaryWriter('logs')

img_path = r'D:\Source\Datasets\cat_and_dog\train\cat.0.jpg'
img = Image.open(img_path)
img_np = np.array(img)
writer.add_image('test_img', img_np, 1, dataformats='HWC')

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

writer.close()

创建
参数logs的意思就是会创建一个logs的文件夹来保存结果

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('logs')

主要通过如下两个函数来把中间结果加入 tensorboard 中

writer.add_image()
writer.add_scalar()

add_scalar

添加训练过程的损失
其中有三个主要的参数
Pytorc技巧 TensorBoard可视化的使用_第3张图片

  • tag 代表标题 传入字符串类型
  • scalar_value 相当于y轴的值, 通常可以把loss传入进去
  • global_step相当于x轴的值, 通过传入epoch

add_image

顾名思义,是把图片的结果传入tensorboard
Pytorc技巧 TensorBoard可视化的使用_第4张图片

  • tag 标题
  • img_tensor 图像的数据, 要求以numpy的格式或者tensor的格式
    • numpy 的格式通过 PIL Image来读取 并通过 np.array来转换(如上述案例代码)
    • tensor 的格式通过 transformers来进行转换, 会在后面的文章中介绍
  • global_step 训练轮数
  • dataformats 图像的尺寸格式 默认的格式是 形如(3, H, W) 即通道,高,长
    • 如果传入的数据顺序不一致的话就需要用该参数来指定 通道与长,宽的顺序

启动查看

上述的命令在运行之后会在当前文件夹下创建一个 logs文件夹
在这里插入图片描述
里面记录了训练的过程
启动tensorboard的命令也要在该路径下运行
dir查看后能看到logs文件夹即可
Pytorc技巧 TensorBoard可视化的使用_第5张图片

  • logdir 指定存放中间过程的路径
  • port 指定启动端口号 默认为6006
tensorboard --logdir=logs --port=6007

在这里插入图片描述
启动完成后点击链接即可查看

你可能感兴趣的:(学校学习,深度学习,可视化,python,深度学习)