pytorch学习笔记(三)——tensorboard使用

目录

    • 1. Tensorboard介绍
    • 2. 安装tensorboard
    • 3. torch.utils.tensorboard涉及的几个函数
        • 1. add_scalar() 画曲线图
        • 2. add_image() 加图片
    • 4. 遇到的问题 cannot import SummaryWriter

1. Tensorboard介绍

TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。

2. 安装tensorboard

在对应环境下运行

pip install tensorboard

3. torch.utils.tensorboard涉及的几个函数

1. add_scalar() 画曲线图

from torch.utils.tensorboard import SummaryWriter

# 创建SummaryWriter类的实例,并且将生成的文件放在名为logs的文件夹下(logs在该项目文件夹下)
writer = SummaryWriter("logs")

for i in range(100):
    # add_scalar函数生成需要的曲线图,将生成的图存于上面函数创建的logs文件夹下,其中函数的第一个参数是要生成的图的名字,第二的参数是y轴,第三个参数是x轴
    writer.add_scalar("y=x", i, i)

# 关闭该变量
writer.close()

# 此时生成的曲线图信息无法直接打开,需要打开命令行,或者使用pycharm中的命令行,输入tensorboard --logdir=生成图所在路径。
# 如果是在pycharm命令行打开,那么我们的生成图所在路径直接就是上面的logs,即:tensorboard --logdir=logs;如果是其他目录下则要将完整路径写出。

2. add_image() 加图片

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

# 先通过SummaryWriter函数获得该变量writer,并且将生成的文件放在名为logs的文件夹下
writer = SummaryWriter("logs")
img_path = "data/train/ants_image/5650366_e22b7e1065.jpg"
# 通过调用PIL包中的Image.open的函数获取到PIL类型的图片数据,但因add_image函数中的图片参数为numpy型或是torch.Tensor型,因此通过numpy.array函数转化图片类型
img_PIL = Image.open(img_path)
img_array = np.array(img_PIL)
# add_image函数的参数分别代表:第一个参数为输出的图表名;第二个参数为图数据;第三个参数为训练的步骤;即第几步,第四个参数为第二个参数输入的格式是高、宽、通道数
writer.add_image("test", img_array, 1, dataformats="HWC")

# 运行完后,命令行输入tensorboard --logdir=logs,即可在tensorboardUI中看到训练中加的图片啥的可视化信息

4. 遇到的问题 cannot import SummaryWriter

  1. tensorboard包也导入了,还是cannot import???

    原因好像是?pytorch官网查到,而我现在电脑上python用的3.6pytorch学习笔记(三)——tensorboard使用_第1张图片
    解决方案:把当前环境下的python换成3.9试试,还没解决!!!!!!!!!!!!!!1
    原因2,自己的tensorboard.py文件和导入的包重名
    pytorch学习笔记(三)——tensorboard使用_第2张图片
    解决:换个名字试试。成功了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    反思:自己写的.py文件命名禁止和导入的包名相同,文件命名禁用关键字
    吐了。。。。。

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