PyTorch深度学习入门笔记(四)TensorBoard的使用

课程学习笔记,课程链接
学习笔记同步发布在我的个人网站上,欢迎来访查看。

文章目录

  • 一、TensorBoard
    • 1.1 SummaryWriter
    • 1.2 add_image()

首先安装TensorBoard:

pip install tensorboard

一、TensorBoard

1.1 SummaryWriter

from torch.utils.tensorboard import SummaryWriter

PyTorch深度学习入门笔记(四)TensorBoard的使用_第1张图片
从函数介绍可知:这个类主要是将事件文件写入 log_dir文件夹,可以被TensorBoard解析。
要用到其成员函数 add_scalar()

def add_scalar(
        self,
        tag,
        scalar_value,
        global_step=None,
        walltime=None,
        new_style=False,
        double_precision=False,
    )
  1. tag: 图表的 title
    PyTorch深度学习入门笔记(四)TensorBoard的使用_第2张图片

  2. scalar_value:保存的数值,即对应y轴

  3. global_step: 步长,即对应x轴

尝试一下:

from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter("logs")

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

结果:
在工程所在目录生成了 logs文件夹,并生成了事件文件。
PyTorch深度学习入门笔记(四)TensorBoard的使用_第3张图片
再在pycharm里的终端输入

tensorboard --logdir=logs

查看事件文件
PyTorch深度学习入门笔记(四)TensorBoard的使用_第4张图片
点击最后的链接即可看到图表了
PyTorch深度学习入门笔记(四)TensorBoard的使用_第5张图片
可通过参数 --port=xx 指定端口,以防止端口冲突(多用户使用同一服务器进行训练时)

tensorboard --logdir=logs --port=6007

注:

  • 这个命令会打开 logdir文件夹下的所有事件文件。
  • 图表以 tag 作为区分,可向一个 tag多次写入数据,会自动进行拟合。

1.2 add_image()

首先下载一下测试数据集,链接:
https://pan.baidu.com/s/1jZoTmoFzaTLWh4lKBHVbEA 密码: 5suq
下载好后解压重命名为 testdata,放到工程目录下:
PyTorch深度学习入门笔记(四)TensorBoard的使用_第6张图片
再使用成员函数 add_image()
PyTorch深度学习入门笔记(四)TensorBoard的使用_第7张图片
可以看到使用此函数所需要提供的参数,这里注意,img_tensor是图像数据,对其数据类型有所要求,必须是torch.Tensor、numpy.array或者字符串。
这里可以利用 PIL.image.open() 函数读取图片,然后用 numpy.array()对PIL图片进行数据类型转换。
PyTorch深度学习入门笔记(四)TensorBoard的使用_第8张图片
测试代码:

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

writer = SummaryWriter("logs")
image_path = "testdata/train/ants_image/0013035.jpg"
img = Image.open(image_path)
img_array = np.array(img)

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

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

执行后,并打开TensorBoard,点击IMAGES,可以看到添加的图片:
PyTorch深度学习入门笔记(四)TensorBoard的使用_第9张图片
可以通过修改step来显示每一步的输入图片数据:
PyTorch深度学习入门笔记(四)TensorBoard的使用_第10张图片

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