在Pytorch中简单使用tensorboard
作者:Ma Sizhou 发布时间:2021-02-05 11:07:57
标签:Pytorch,tensorboard
一、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


猜你喜欢
- 一、安 * rew终端上运行 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubus
- 今天我们将利用python+OpenCV实现对视频中物体数量的监控,达到视频监控的效果,比如洗煤厂的监控水龙头的水柱颜色,当水柱为黑色的超过
- SQL Server 2005默认是不允许远程连接的,要想通过远程连接实现MSSQL,数据库备份,需要做如下设置:步骤/方法1.打开SQL
- PYTHON首先要安装scapy模块PY3的安装scapy-python3,使用PIP安装就好了,注意,PY3无法使用pyinstaller
- <?php/*======================================事务处理==================
- Vue按回车键进行搜索需求:为了用户方便进行搜索数据的时候不想点击搜索按钮,想要在input输入框内输入完成之后直接按回车键进行搜索第一种方
- 一、列操作1.1 选择列d = {'one' : pd.Series([1, 2, 3], index=['a
- 目录问题复现隐式转换总结参考问题在工作中发现,有一个接口只执行一条SQL查询语句,并且SQL明明使用了主键列,但是速度很慢。在MySQL中E
- 让左模糊查询也能走索引测试表USER_INFO表数据以及结构如下有一个USER_NAME字段的索引有个业务需求,需要模糊搜索出用户名后几位有
- PyCharm设置数据库,查询数据库语句1、首先先安装BataBase数据插件2、打开DB Navigator 打开DataBase视图3、
- 目标是想把在服务器上用pytorch训练好的模型转换为可以在移动端运行的tflite模型。最直接的思路是想把pytorch模型转换为tens
- 我经常需要用Python与solr进行异步请求工作。这里有段代码阻塞在Solr http请求上, 直到第一个完成才会执行第二个请
- 以前的Dreamweaver中是没有图片处理功能的,即使你要处理也只能使用CSS中的相关滤镜进行一些效
- 1> 如何在浏览器地址栏前添加自定义的小图标?你是不是记得有时在浏览网易网站的首页时,在地址WWW.PUTAOJIAYUAN.COM前
- 前言本文重点介绍 MySQL BIGINT 数据类型,并研究我们如何使用它来存储整数值。我们还将了解它的范围、存储大小和各种属性,包括有符号
- 治標不治本的就是將php.ini內的reporting部份修改,讓notice不顯示 error_reporting = E_ALL; di
- 下载8000首儿歌的python的代码:#-*- coding: UTF-8 -*-from pyquery import PyQuery
- 本文实例讲述了Django框架视图介绍与使用。分享给大家供大家参考,具体如下:视图视图:即一个python函数,可以叫 视图函数,或者简称
- 1. 文件锁脚本启动前检查特定文件是否存在,不存在就启动并新建文件,脚本结束后删掉特定文件。通过文件的判断来确定脚本是否正在执行。方法实现也
- PHP程序员玩转Linux系列文章:1.PHP程序员玩转Linux系列-怎么安装使用CentOS2.PHP程序员玩转Linux系列-lnmp