在Pytorch中简单使用tensorboard
作者:Ma Sizhou 时间:2021-02-05 11:07:57
一、tensorboard的简要介绍
TensorBoard是一个独立的包(不是pytorch中的),这个包的作用就是可视化您模型中的各种参数和结果。
下面是安装:
pip install tensorboard
安装 TensorBoard 后,这些实用程序使您可以将 PyTorch 模型和指标记录到目录中,以便在 TensorBoard UI 中进行可视化。 PyTorch 模型和张量以及 Caffe2 网络和 Blob 均支持标量,图像,直方图,图形和嵌入可视化。
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是保存的数据的所在路径)
实验结果:
来源:https://blog.csdn.net/weixin_45901519/article/details/117735506
标签:Pytorch,tensorboard
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python基础之文件操作
2022-12-23 01:15:53
![](https://img.aspxhome.com/file/2023/9/112149_0s.png)
CSS中写expression可能会在Chrome中有问题
2010-01-29 13:10:00
![](https://img.aspxhome.com/file/UploadPic/20101/29/k2010125224713-48s.gif)
php使用composer常见问题及解决办法
2023-07-10 13:54:53
![](https://img.aspxhome.com/file/2023/8/55398_0s.jpg)
JavaScript学习心得之如何走出初学困境
2008-12-24 13:30:00
python爬虫豆瓣网的模拟登录实现
2023-07-08 20:28:08
![](https://img.aspxhome.com/file/2023/9/115439_0s.jpg)
Python实现双X轴双Y轴绘图的示例详解
2021-10-17 17:33:58
![](https://img.aspxhome.com/file/2023/8/93598_0s.png)
gethostbyaddr在Python3中引发UnicodeDecodeError
2023-06-15 09:34:33
Python性能优化技巧
2021-06-29 12:48:32
详解python OpenCV学习笔记之直方图均衡化
2022-12-29 20:37:22
![](https://img.aspxhome.com/file/2023/9/120939_0s.png)
Python面向对象的三大特性封装、继承、多态
2023-12-11 05:15:52
用ASP+XML打造留言本实例
2007-08-13 10:38:00
Python利用networkx画图绘制Les Misérables人物关系
2021-03-31 07:41:54
![](https://img.aspxhome.com/file/2023/1/64671_0s.png)
java连接mysql数据库 java连接sql server数据库
2023-07-16 06:56:50
Python中使用urllib2模块编写爬虫的简单上手示例
2023-10-18 22:14:31
![](https://img.aspxhome.com/file/2023/4/92144_0s.jpg)
带你用Python实现Saga 分布式事务的方法
2022-02-17 06:17:11
![](https://img.aspxhome.com/file/2023/6/105386_0s.jpg)
使用typescript快速开发一个cli的实现示例
2023-08-30 07:25:25
![](https://img.aspxhome.com/file/2023/6/56016_0s.png)
Python json转字典字符方法实例解析
2021-06-07 11:21:40
django ajax发送post请求的两种方法
2022-06-21 07:06:51
Python打造虎年祝福神器的示例代码
2021-01-08 17:23:43
![](https://img.aspxhome.com/file/2023/0/107140_0s.png)
Python基础教程(一)——Windows搭建开发Python开发环境
2021-06-16 13:41:53
![](https://img.aspxhome.com/file/2023/1/103641_0s.png)