社交型网站首页面设计分析,电子政务与网站建设 总结,自学软件开发,字体设计学习网站50 TensorBoard的安装和使用
在深度学习建模过程中#xff0c;为了能够快速绘制模型基本结构、观察模型评估指标伴随训练过程的动态变化情况#xff0c;当然也为了能够观察图像数据#xff0c;我们可以使用TensorBoard工具来进行Pytorch深度学习模型的可视化展示。
Tensor…50 TensorBoard的安装和使用
在深度学习建模过程中为了能够快速绘制模型基本结构、观察模型评估指标伴随训练过程的动态变化情况当然也为了能够观察图像数据我们可以使用TensorBoard工具来进行Pytorch深度学习模型的可视化展示。
Tensorboard原本是TensorFlow的可视化工具而目前在TensorboardX工具的加持下其他深度学习计算框架也可使用TensorBoard工具进行可视化操作了。在Pytorch原生的可视化工具不够友好的情况下我们更推荐使用TensorboardX来实现Pytorch的建模可视化。 虽然我们可以在torch.util模块中调用Tensorboard但Tensorboard并不和Pytorch同步维护要使用Tensorboard需单独安装。
# 随机模块
import random# 绘图模块
import matplotlib as mpl
import matplotlib.pyplot as plt# numpy
import numpy as np# pytorch
import torch
from torch import nn,optim
import torch.nn.functional as F
from torch.utils.data import Dataset,TensorDataset,DataLoader50.1 安装TensorboardX
和python安装第三方库一样直接在命令行中安装即可。已经安装了TensorFlow的同学在安装TensorFlow的过程中会自动安装Tensorboard后续可以直接使用。当然只安装了PyTorch的同学可根据以下步骤单独TensorboardX组件 Step 1.打开cmd命令行 Step 2.使用pip进行安装
pip install tensorboardXStep 3.安装tensorboard
pip install tensorboardStep 4.测试安装结果
导入相关的包若能顺利导入则证明安装成功
from torch.utils.tensorboard import SummaryWriter50.2 SummaryWriter类与Tensorboard的基本使用
在进行建模过程可视化展示的过程核心使用的类就是SummaryWriter类通过该类的使用我们可以记录关键运算关系、模型数值指标等进而可以进行展示。
不过考虑到真实生产环境中大规模深度学习模型都是部署在服务器上运行的我们无法像在本地IDE上一边输入数据一边绘图观测结果我们只能将需要记录的关键结果记录下来并保存在某个文件里然后再在本地或者服务器上开启某项服务读取该文件保存的信息。因此整个过程会比在本地绘图稍微复杂但确是真实生产环境中的主流操作。 使用SummaryWriter进行记录并读取结果的一般过程如下 实例化summarywriter
writer SummaryWriter(log_dir test)实例化的过程中需要确定保存路径当保存在主目录文件内时只需输入文件夹名称即可。当文件夹不存在时系统会自动创建一个。每次实例化一次SummaryWriter就会在对应文件夹内新生成一个文件。单个文件夹内允许存在多个文件在实际读取过程中会一次性读取文件夹内全部文件。 writer.log_dir # 通过log_dir查看summary对象记录文件的位置
# output :
test记录数据
for i in range(10):writer.add_scalar(mul, i*i, i)此处我们使用了add_scalar方法进行数据记录该方法用于记录一组组标量在实际记录过程中通过迭代的方式逐个增加。其中第一个参数代表改组记录的名称也就是生成图像的名称第二个参数代表y值第三个参数代表x值。完成记录后即可读取文件查看记录结果。除此以外常用的还有add_graph方法用于记录深度学习建模流程。 启动服务读取文件
接下来在本地启动服务读取刚刚生成的记录文件。同样我们可以在jupyter中的命令行直接启动服务。 打开终端 输入 tensorboard --logdirtest命令行中内容其中tensorboard为指令关键词--logdir参数输入记录文件夹地址注意是文件夹地址而不是文件夹内的文件地址。在默认情况下系统会自动启动6006端口可用于Web调用服务这种调用方法类似于jupyter服务也是通过Web调用的jupyter端口默认是8888。需要注意的是上述命令中是先将当前操作目录转移至test文件目录下然后在调用tensorboard命令时只需要在--logdir参数位输入文件名称即可。无论是在--logdir参数位输入完整的文件路径还是先将当前操作目录转移到对应目录下再直接输入文件名都可以直接调用服务。 进入6006端口页面 直接点击也可以 接下来即可对图形进行简单操作最基本的我们可以按住alt键滚动鼠标滚轮对其进行缩放以及通过鼠标左键对其进行拖拽。
至此简单的跑通一个使用Tensorboard的使用实验顺利完成在后续的建模过程中我们还将进一步熟悉Tensorboard的其他功能。值得一提的是尽管目前看起来是Tensorboard只记录了一张折线图但实际上add_scalar方法核心应用场景是用于记录模型运行过程中随着迭代次数增加一些数值指标的变化情况如loss值、准确率值等等等等。无论如何我们需要知道Tensorboard的核心应用场景是深度学习建模过程的可视化展示若只用其进行绘图则有些大材小用了。