【PyTorch】关于Tensorboard的简单使用

8 篇文章 0 订阅
3 篇文章 0 订阅

前提文章目录

【PyTorch】深度学习PyTorch环境配置及安装【详细清晰】
【PyTorch】深度学习PyTorch加载数据


SummaryWriter使用

在这里插入图片描述

from torch.utils.tensorboard import SummaryWriter

# 生成tensorboard的一些事件文件
writer = SummaryWriter("logs")
# writer.add_image()
# y=x
for i in range(100):  # i是从0到99
    writer.add_scalar("y=x", i, i)
writer.close()

打开事件文件
logdir=事件文件所在文件夹名
命令:tensorboard --logdir=logs
在这里插入图片描述
出现的蓝色地址是tensorboard的所在地址,6006是默认端口,如果几台服务器同时训练会有所冲突,可以更改端口
更改端口命令:tensorboard --logdir=logs --port=6007,如下图:
在这里插入图片描述
点击蓝色网址进入,出现网址如下图:
在这里插入图片描述
值:
在这里插入图片描述
当出现混在一起的线条值,可以删除事件文件,重新运行

add_image()的使用(常用来观察训练结果)

在这里插入图片描述
点击查看源码,发现图片参数接受的类型为下图:
在这里插入图片描述
在这里插入图片描述

利用Tensorboard观察图片

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

# 生成tensorboard的一些事件文件
writer = SummaryWriter("logs")
# image_path = "data/train/ants_image/0013035.jpg"
# image_path = "data/train/bees_image/16838648_415acd9e3f.jpg"
image_path = "data/train/ants_image/5650366_e22b7e1065.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)  # 将PIL格式的图片转换为numpy格式
print(type(img_array))  # <class 'numpy.ndarray'>
print(img_array.shape)  # (375, 500, 3)  可以看到375是高 500是宽 3是3个颜色通道 颜色通道在后面

# writer.add_image("test", img_array, 1, dataformats='HWC')#颜色通道在后面 所以用dataformats='HWC'
# writer.add_image("test", img_array, 2, dataformats='HWC')
writer.add_image("train", img_array, 1, dataformats='HWC')
# y=x
for i in range(100):  # i是从0到99
    writer.add_scalar("y=2x", 2 * i, i)
writer.close()

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以回答这个问题。以下是一个使用 PyTorchTensorBoard 的示例代码: ```python import torch from torch.utils.tensorboard import SummaryWriter # 创建一个 SummaryWriter 对象,用于记录 TensorBoard 日志 writer = SummaryWriter() # 定义一个简单的神经网络模型 class Net(torch.nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = torch.nn.Linear(10, 5) self.fc2 = torch.nn.Linear(5, 1) def forward(self, x): x = torch.nn.functional.relu(self.fc1(x)) x = self.fc2(x) return x # 创建一个模型实例 net = Net() # 定义一个输入张量 input_tensor = torch.randn(1, 10) # 将模型和输入张量传入 SummaryWriter 对象,记录模型结构和输入张量 writer.add_graph(net, input_tensor) # 定义一个损失函数和优化器 criterion = torch.nn.MSELoss() optimizer = torch.optim.SGD(net.parameters(), lr=0.01) # 训练模型 for i in range(100): # 随机生成一个训练样本 x = torch.randn(1, 10) y = torch.randn(1, 1) # 前向传播 output = net(x) # 计算损失 loss = criterion(output, y) # 反向传播 optimizer.zero_grad() loss.backward() optimizer.step() # 记录损失值和训练次数到 TensorBoard writer.add_scalar('Loss', loss.item(), i) # 关闭 SummaryWriter 对象 writer.close() ``` 这个示例代码演示了如何使用 PyTorchTensorBoard 记录神经网络模型的结构和训练过程中的损失值。具体来说,代码中定义了一个简单的神经网络模型,使用 SummaryWriter 对象记录了模型结构和输入张量,然后使用随机生成的训练样本训练模型,并将损失值和训练次数记录到 TensorBoard 中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@¥文竹¥

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值