TensorBoard最全使用教程:看这篇就够了

这篇具有很好参考价值的文章主要介绍了TensorBoard最全使用教程:看这篇就够了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

靠,天天学,天天学,就是一个工具人!!!

机器学习通常涉及在训练期间可视化和度量模型的性能。 有许多工具可用于此任务。 在本文中,我们将重点介绍 TensorFlow 的开源工具套件,称为 TensorBoard,虽然他是TensorFlow 的一部分,但是可以独立安装,并且服务于Pytorch等其他的框架。

一、什么是 TensorBoard?

TensorBoard 是一组用于数据可视化的工具。它包含在流行的开源机器学习库 Tensorflow 中。TensorBoard 的主要功能包括:

  1. 可视化模型的网络架构
  2. 跟踪模型指标,如损失和准确性等
  3. 检查机器学习工作流程中权重、偏差和其他组件的直方图
  4. 显示非表格数据,包括图像、文本和音频
  5. 将高维嵌入投影到低维空间

TensorBoard算是包含在 TensorFlow中的一个子服务。 TensorFlow 库是一个专门为机器学习应用程序设计的开源库。 Google Brain 于 2011 年构建了较早的 DistBelief 系统。随着其用户群的快速增长,它被简化并重构为我们现在称为 Tensorflow 的库。 TensorFlow 随后于 2015 年向公众发布。TensorBoard刚出现时只能用于检查TensorFlow的指标和TensorFlow模型的可视化,但是后来经过多方的努力其他深度学习框架也可以使用TensorBoard的功能,例如Pytorch已经抛弃了自家的visdom(听到过这个名字的人应该都不多了吧)而全面支持TensorBoard。

二、如何安装 TensorBoard

TensorBoard 包含在 TensorFlow 库中,所以如果我们成功安装了 TensorFlow,我们也可以使用 TensorBoard。 要单独安装 TensorBoard 可以使用如下命令:

pip install tensorboard

需要注意的是:因为TensorBoard 依赖Tensorflow ,所以会自动安装Tensorflow的最新版

三、如何查看是否安装TensorBoard

打开pycharm,在python Console中输入以下代码:

from torch.utils.tensorboard import SummaryWriter

如不提示错误,则安装成功,若提示以下错误:

TensorBoard logging requires TensorBoard version 1.15 or above

三、启动 TensorBoard(仅仅是启动)

要启动 TensorBoard,打开终端或命令提示符并运行:

1、首先进入你运行代码的环境
2、然后使用下面这条命令,路径是log文件的上一个目录,你如下面这个的是flower_experment的(相对)路径
(如果显示说找不到数据啥的,直接使用绝对路径一般就能解决)
一系列tensorboard错误以及解决方法:

tensorboard --logdir=<directory_name>

tensorboard怎么用,python,tensorflow,深度学习
举个例子(相对路径更好用):
tensorboard怎么用,python,tensorflow,深度学习

将 directory_name 标记替换为保存数据的目录。 默认是“logs”。

运行此命令后,我们将看到以下提示:

Serving TensorBoard on localhost; to expose to the network, use a proxy or pass –bind_allTensorBoard 2.2.0 at http://localhost:6006/ (Press CTRL+C to quit)

这说明 TensorBoard 已经成功上线。 我们可以用浏览器打开http://localhost:6006/查看。

当页面打开时,我们将看到如下大概内容(因为没训练几轮,所以这个参数没什么变化):
tensorboard怎么用,python,tensorflow,深度学习

四、TensorBoard 仪表板都有哪些玩意(前四个对于cv来说用的比较多)

TensorBoard 仪表板由用于可视化数据的不同组件组成。 我们将研究几个常用的组件。
上面的图只是部分可视化功能,全部可视化功能还有很多很多,如下:
tensorboard怎么用,python,tensorflow,深度学习

1、TensorBoard Scalars

机器学习过程需要跟踪与模型性能相关的不同指标。这对于快速发现问题并确定模型是否过度拟合等非常重要。

使用 TensorBoard 的 Scalars Dashboard,可以可视化这些指标并更轻松地调试模型。第一个示例,在 MNIST 数据集上绘制模型的损失和准确性,使用的就是Scalars。
tensorboard怎么用,python,tensorflow,深度学习
Scalars这个面板是最最长常用的面板,主要用于将神经网络训练过程中的acc(训练集准确率)val_acc(验证集准确率),loss(损失值),weight(权重)等等变化情况绘制成折线图。

它左边有一些参数设置:

Ignore outlines in chart scaling(忽略图表缩放中的轮廓),可以消除离散值
tensorboard怎么用,python,tensorflow,深度学习
p1:是否显示数据下载链接。
p2:图表平滑过程中是否忽略异常点。
p3:控制每个run点信息的显示顺序。
p4:代表平滑系数,值越大平滑越多。
p5:横坐标刻度值。STEP:默认选项,横轴显示的是训练迭代次数。RELATIVE:这个相对指的是相对时间,相对于训练开始的时间,也就是说训练用时 ,单位是小时。WALL:指训练的绝对时间。
p6:选择要显示的内容,此处支持正则表达式。
p7:查看大图。
p8:是否对y轴进行对数化处理。
p9:如果拖动或缩放了坐标轴,点击后回到原始位置。
p10:下载显示的数据。
补充:在标量图中拉一个矩形,则把矩形内的数据放大展示。

2、TensorBoard Images

在处理图像数据时,如果希望查看数据查找问题,或者查看样本以确保数据质量,则可以使用 TensorBoard 的 Image Summary API。
tensorboard怎么用,python,tensorflow,深度学习

3、TensorBoard Graphs

所有模型都可以看作是一个计算图。 有时很难通过单独查看代码来了解模型的体系结构。对其进行可视化可以很容易看到模型的结构, 也能够确保使用的架构是我们想要或设计的。
其实就是可以查看模型结构
tensorboard怎么用,python,tensorflow,深度学习

4、TensorBoard Distributions and Histograms 分布和直方图

TensorBoard 分布和直方图是跟踪模型另一种好方法。 使用官方提供的回调,在训练后TensorBoard 上会显示几个选项。 如果我们转到Distributions 选项卡,将看到如下图:
tensorboard怎么用,python,tensorflow,深度学习
这组图表显示了构成模型的张量。 在每个图的水平轴上显示 epoch 数,在垂直轴上显示了每个张量的值。 这些图表基本上显示了这些张量如何随着训练的进行而随时间变化。 较暗的区域显示值在某个区域停留了更长的时间(没更新)。 如果担心模型权重在每个epoch 都没有正确更新,可以使用此选项发现这些问题。

我们在Histograms选项上看到了一组不同的图表,它们表示模型的张量。
tensorboard怎么用,python,tensorflow,深度学习
这些图显示了模型中张量的不同视图。每个图都有五个相互堆叠的直方图,代表训练过的五个epoch中的每一个。它们显示了张量权重倾向于集中在哪个区域的信息。这对于调试模型的行为,发现异常非常有用。

5、TEXT

文本是创建机器学习模型时常用的数据类型。 很多时候,很难将文本数据可视化。 TensorBoard可以使用 Text Summary API 轻松地可视化文本数据。 让我们看看它是如何工作的。

TensorBoar的Text 选项卡中输入的文本。
tensorboard怎么用,python,tensorflow,深度学习

五、将 TensorBoard 与 PyTorch 结合使用

PyTorch 是另一个深受研究人员欢迎的深度学习框架。 PyTorch 现在也已经支持 TensorBoard了。

在使用 TensorFlow 时,使用 Summary API 创建了将数据记录到 logdir 文件夹的对象。 在使用 PyTorch 时,官方也提供了类似的API。

# Import the summary writer 
from torch.utils.tensorboard import SummaryWriter# Create an instance of the object 
writer = SummaryWriter()

这样就可以使用与 TensorFlow 相同的方式处理的相同 MNIST 数据集。(这只是示例代码,并不能运行)

import torch 
import torchvision 
from torchvision import datasets, transforms 
 
# Compose a set of transforms to use later on 
transform = transforms.Compose([ 
    transforms.ToTensor(),  
    transforms.Normalize((0.5,), (0.5,)) 
]) 
 
# Load in the MNIST dataset 
trainset = datasets.MNIST( 
    'mnist_train',  
    train=True,  
    download=True,  
    transform=transform 
) 
 
# Create a data loader 
trainloader = torch.utils.data.DataLoader( 
    trainset,  
    batch_size=64,  
    shuffle=True 
) 
 
# Get a pre-trained ResNet18 model 
model = torchvision.models.resnet18(False) 
 
# Change the first layer to accept grayscale images 
model.conv1 = torch.nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3, bias=False) 
 
# Get the first batch from the data loader 
images, labels = next(iter(trainloader)) 
 
# Write the data to TensorBoard 
grid = torchvision.utils.make_grid(images) 
writer.add_image('images', grid, 0) 
writer.add_graph(model, images) 
writer.close()

运行此程序后,转到 TensorBoard 并查看保存的输出。
tensorboard怎么用,python,tensorflow,深度学习

六、Tensorboard自己使用(摸索状态,慢慢更新使用细节)

1、初次使用tensorboard绘制loss和acc曲线出现时间线错乱的情况如下图:

tensorboard怎么用,python,tensorflow,深度学习
很大一个原因可能是在一个文件夹下有多个log文件一块显示了,删掉试试
tensorboard怎么用,python,tensorflow,深度学习
使用时间戳,每一次运行会建立对应时间的log文件,这样不会在一个文件夹中出现多个log文件,方便查看,参考链接

   # TensorBoard
    project_path = "F:\py_project_professional\dxp_project\Rsenet34_curvature classification"
    name = "ResNet34_result"
    tb_writer_summary_path = os.path.join(project_path, "run", name, "Logs")
    current_time = time.strftime("%Y%m%d-%H%M%S", time.localtime())
    log_dir = os.path.join(tb_writer_summary_path, current_time)
    tb_writer = SummaryWriter(log_dir=log_dir, comment=name)
#     # 于将训练过程中的各种信息写入 TensorBoard 日志文件,以便进行可视化和分析。
#     # log_dir:用于指定 TensorBoard 日志文件的保存路径,即 tb_writer_summary_path 变量所指定的路径。
#     # comment:一个可选的字符串,用于为日志文件添加一个注释,可以用于区分不同的日志文件。
#     # 在这里,该参数指定了一个名为 args.name 的注释,该值可能是从命令行参数中传递过来的。
#     # parser.add_argument('--name', type=str, default='case5_result')

tensorboard怎么用,python,tensorflow,深度学习
效果大概就是下图这样
tensorboard怎么用,python,tensorflow,深度学习

五级标题

参考链接

TensorBoard最全使用教程:看这篇就够了:https://zhuanlan.zhihu.com/p/471198169文章来源地址https://www.toymoban.com/news/detail-797388.html

到了这里,关于TensorBoard最全使用教程:看这篇就够了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python操作Excel教程(全网最全,只看这一篇就够)

    目录 Python Excel库对比 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 1.2 安装xlrd模块 1.3 使用介绍 1.4 实战训练 2 Python xlwt 写入 操作Excel(仅限xls格式!) 2.1 pip安装xlwt 2.2 使用xlwt创建新表格并写入 2.3 xlwt 设置字体格式 2.4 xlwt 设置列宽 2.5 xlwt 设置行高 2.6 xlwt 合并列和行 2.7 xlwt 添加

    2024年02月15日
    浏览(43)
  • Linux,看这篇就够了

    因为我们要部署服务,Linux系统一直以其稳定性而闻名,它们可以连续运行多年而不发生任何重大问题。事实上,很多Linux用户都从未在自己的环境中遇到过系统崩溃的情况。相对windows而言,挂起和崩溃完全是一种常态。 Windows由于是商业产品,源代码封闭,我们无法知道微软

    2024年02月08日
    浏览(37)
  • 看这篇就够了——ubuntu系统中的cuda cudnn cudatookit及pytorch使用

    独立显卡是指以独立板卡形式存在,可在具备显卡接口的主板上自由插拔的显卡。独立显卡具备单独的显存,不占用系统内存,而且技术上领先于集成显卡,能够提供更好的显示效果和运行性能。显卡作为电脑主机里的一个重要组成部分,对于喜欢玩游戏和从事专业图形设计

    2024年01月17日
    浏览(41)
  • 面向对象编程,看这篇就够了

    面向对象编程,是一种程序设计范式,也是一种编程语言的分类。它以对象作为程序的基本单元,将算法和数据封装其中,程序可以访问和修改对象关联的数据。这就像我们在真实世界中操作各种物体一样,比如我们可以打开电视、调整音量、切换频道,而不需要知道电视的

    2024年02月05日
    浏览(70)
  • 测试基本理论-看这篇就够了

    软件测试(Software Testing): 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 【系统软件】:如操作系统、数据库管理系统,各种驱动软件等; 【应用软件】:如Office、有道翻译、QQ等; 【单机版本】:如Office,

    2024年02月06日
    浏览(42)
  • 看这篇就够了——opencv与libopencv与cv_bridge的安装与使用

      OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库,是由Intel公司俄罗斯团队发起并参与和维护,支持与计算机视觉和机器学习相关的众多算法。OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合

    2024年02月03日
    浏览(39)
  • 关于SpringBoot框架,看这篇就够了。

    目录 是什么 有什么优点、解决了哪些问题 创建第一个以springboot项目 starter 核心配置文件application.yml或properties application中的配置项 springboot的启动流程 自定义banner 整合日志打印 整合druid数据源 处理异常 常用的注解 Configuration Import conditional ConfigruationProperties 基于springboot的

    2024年02月06日
    浏览(45)
  • 关于信贷评分卡模型,看这篇就够了!

    风险并不是所有人都能轻松看到,信贷公司同样如此。 8月4日下午15:00,顶象研发总监就评分卡模型展开分享,详细介绍了评分卡模型的原理、评分卡模型的构建过程、评分卡模型的开发投产以及顶象的评分卡模型实践。 评分卡模型原理 通常来说,我们把贷款分为抵押贷款

    2024年02月12日
    浏览(35)
  • ElasticSearch自定义评分-看这篇就够了

    文章目录   一、适用的场景    1.基本介绍    2.使用场景     2.1根据价格评分排序     2.2根据距离评分排序     2.3根据距离价格综合评分排序     2.4自定义编写脚本   二、常用的字段解释    1.整体结构    2.function_score     2.1.qu

    2024年02月06日
    浏览(39)
  • 自学黑客(网络安全)看这篇就够了

    写了这么多编程环境和软件安装的文章,还有很多小伙伴在后台私信说看不懂。我都有点头疼了,但是小伙伴们求学的心情我还是能理解,竟然这么多人给我反馈了,那我就再写一篇网络安全自学的教程吧!大家耐心看完,后面有惊喜。 一、自学网络安全的误区和陷阱 1.不要

    2024年02月06日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包