• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

在Pytorch中简单使用tensorboard

python 搞代码 4年前 (2022-01-09) 23次浏览 已收录 0个评论
文章目录[隐藏]

一、tensorboard的简要介绍

TensorBoard是一个独立的包(不是pytorch中的),这个包的作用就是可视化您模型中的各种参数和结果。

下面是安装:

pip install tensorboard

安装 TensorBoard 后,这些实用程序使您可以将 PyTorch 模型和指标记录到目录中,以便在 TensorBoard UI 中进行可视化。 PyTorch 模型和张量以及 Caffe2 网络和 Blob 均支持标量,图像本文来源gaodai$ma#com搞$代*码网2,直方图,图形和嵌入可视化。

SummaryWriter 类是您用来记录数据以供 TensorBoard 使用和可视化的主要入口。
看一个例子,在这个例子中,您重点关注代码中的注释部分:

import torch
import torchvision
from torchvision import datasets, transforms
# 可视化工具, SummaryWriter的作用就是,将数据以特定的格式存储到上面得到的那个日志文件夹中
from torch.utils.tensorboard import SummaryWriter

# 第一步:实例化对象。注:不写路径,则默认写入到 ./runs/ 目录
writer = SummaryWriter()

transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])
trainset = datasets.MNIST('mnist_train', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)
model = torchvision.models.resnet50(False)

# 让 ResNet 模型采用灰度而不是 RGB
model.conv1 = torch.nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3, bias=False)
images, labels = next(iter(trainloader))

grid = torchvision.utils.make_grid(images)

# 第二步:调用对象的方法,给文件夹存数据
writer.add_image('images', grid, 0)
writer.add_graph(model, images)
writer.close()

点击运行之后,我们就可以在文件夹下看到我们保存的数据了,然后我们就可以使用 TensorBoard 对其进行可视化,该 TensorBoard 应该可通过以下方式运行(在命令行):

tensorboard --logdir=runs

运行结果:

接着看:

一个实验可以记录很多信息。 为了避免 UI 混乱和更好地将结果聚类,我们可以通过对图进行分层命名来对图进行分组。 例如,“损失/训练”和“损失/测试”将被分组在一起,而“准确性/训练”和“准确性/测试”将在 TensorBoard 界面中分别分组。

我们再看一个更简单的例子来理解上面的话:

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

# 第一步:实例化对象。注:不写参数默认是 ./run/ 文件夹下
writer = SummaryWriter()

for n_iter in range(100):
    # 第二步:调用对象的方法,给文件夹存数据
    writer.add_scalar('Loss/train', np.random.random(), n_iter)
    writer.add_scalar('Loss/test', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/train', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/test', np.random.random(), n_iter)

writer.close()
点击运行(保存数据);
在命令行输入tensorboard --logdir=run(run是保存的数据的所在路径)

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在Pytorch中简单使用tensorboard

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址