恒源云——pytorch——tensorboard

恒源云——pytorch——tensorboard

前言

写作本文的目的是整合自己在恒源云平台上使用tensorboard的一些经验,避免重复性学习

准备

Tensorboard的工作流程简单来说是

  • 将代码运行过程中的,需要的数据保存在一个文件夹中:
  • 再读取这个文件夹中的数据,用tensorboard显示出来:
import torch
import torchvision
from torch.utils.tensorboard import SummaryWriter
from torchvision import datasets, transforms
# 设置输出文件目录
writer = SummaryWriter('/tf_logs')
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)
# Have ResNet model take in grayscale rather than 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()

如上加载了MNIST数据集和resnet50模型。下面描述下相关代码:

from torch.utils.tensorboard import SummaryWriter

SummaryWriter的作用是将需要储存的数据存储进目标文件夹

writer = SummaryWriter('/tf_logs')

将其实例化,传入的参数为目标存储文件夹的路径,在恒源云中,官方配置的tensorboard默认路径即为==’/tf_logs’==

writer.add_image('images', grid, 0)
# 将batch图像添加到summary中
writer.add_graph(model, images)
# 写入模型

此时,在

image-20211228141436841

界面点击tensorboard,可以看到如下界面:

image-20211228141531070

IMAGES是输入的batchsize=64的批次数据,GRAPHS是模型的示意图:

image-20211228141704367

点击模块可以查看详细信息。

Loss与Accuary

这两个指标参照链接给出的方式插入即可

add_scalar(tag, scalar_value, global_step=None, walltime=None)

tag (string): 数据名称,不同名称的数据使用不同曲线展示

scalar_value (float): 数字常量值

global_step (int, optional): 训练的 step

tag (string): 数据名称,不同名称的数据使用不同曲线展示

scalar_value (float): 数字常量值

global_step (int, optional): 训练的 step

例如:

writer.add_scalar('TrainLoss', Loss, global_step=epoch)

即可得到Loss随着epoch变化的折线图。

补充

除了使用恒源云默认路径’/tf_logs’外,还可以通过以下代码使用自己定义的路径:

  • 定义自己的路径:
writer = SummaryWriter('/hy-tmp/tf_logs/exp1')
  • 关闭系统执行的tensorboard:
在终端中执行以下命令
$ ps -ef | grep tensorboard | grep -v grep | awk '{print $2}' | xargs kill
  • 启动新的tensorboard

    tensorboard --logdir /hy-tmp/tf_logs/exp1
    

引用

https://zhuanlan.zhihu.com/p/79113234

https://zhuanlan.zhihu.com/p/112492054

链接

恒源云

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值