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

首先安装TensorBoard

从函数介绍可知:这个类主要是将事件文件写入 log_dir文件夹,可以被TensorBoard解析。
要用到其成员函数 add_scalar()

pip install tensorboard
from torch.utils.tensorboard import SummaryWriter
def add_scalar(
        self,
        tag,
        scalar_value,
        global_step=None,
        walltime=None,
        new_style=False,
        double_precision=False,
    )

  1. tag: 图表的 title
    在这里插入图片描述

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

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

打开可视化面板

tensorboard --logdir=E:\CodeCodeCodeCode\AI\Pytorch-study\logs

使用

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

writer = SummaryWriter("../logs")

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

(pytorch) E:\CodeCodeCodeCode\AI\Pytorch-study>tensorboard --logdir=E:\CodeCodeCodeCode\AI\Pytorch-study\logs
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.7.0 at http://localhost:6006/ (Press CTRL+C to quit)

可通过参数 --port=xx 指定端口,以防止端口冲突(多用户使用同一服务器进行训练时)

tensorboard --logdir=logs --port=6007

注:

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

add_image()

首先下载一下测试数据集,链接:
https://pan.baidu.com/s/1jZoTmoFzaTLWh4lKBHVbEA 密码: 5suq
下载好后解压重命名为 data

再使用成员函数 add_image()
asd
可以看到使用此函数所需要提供的参数,这里注意,img_tensor是图像数据,对其数据类型有所要求,必须是torch.Tensor、numpy.array或者字符串。
这里可以利用 PIL.image.open() 函数读取图片,然后用 numpy.array()对PIL图片进行数据类型转换。

全部代码如下

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

writer = SummaryWriter("../logs")

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

image_path = "../data/train/ants_image/6743948_2b8c096dda.jpg"

img = Image.open(image_path)
# (512, 768, 3) 此时是高度-宽度-通道,所以下边加上HWC
img_array = np.array(img)
# writer.add_image("test", img_array, 1, dataformats='HWC')
writer.add_image("test", img_array, 3, dataformats='HWC')
for i in range(100):
    writer.add_scalar("y=3x", 5*i, 2*i)
writer.close()

可以修改step实现显示每一步的输入图片数据,但是前边的图片地址应该不断更新

ss
vvv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值