PyTorch快速入门教程【小土堆】-TensorBoard的使用《一》

1.tensorboard简介                                                                                    

TensorBoard是TensorFlow自带的一个强大的可视化工具,也是一个Web应用程序套件。TensorBoard目前支持7种可视化,Scalars,Images,Audio,Graphs,Distributions,Histograms和Embeddings。其中可视化的主要功能如下。

(1)Scalars:展示训练过程中的准确率、损失值、权重/偏置的变化情况。

(2)Images:展示训练过程中记录的图像。

(3)Audio:展示训练过程中记录的音频。

(4)Graphs:展示模型的数据流图,以及训练在各个设备上消耗的内存和时间。

(5)Distributions:展示训练过程中记录的数据的分部图。

(6)Histograms:展示训练过程中记录的数据的柱状图。

(7)Embeddings:展示词向量后的投影分部。

TensorBoard常用于反映训练过程中的loss变化,探究模型不同阶段如何输出

2.使用

按ctrl移到函数或类可以显示相应的信息

(1)写如下代码

from torch.utils.tensorboard import SummaryWriter#导入类
writer=SummaryWriter("logs")#类实例化,传入存储事件文件夹的名称
#writer.add_image()
#y=3x
for i in range(100):
    writer.add_scalar("y=3x",3*i,i)
writer.close()

(2)运行,会发现根目录下出现logs文件夹即是事件文件的存储文件夹

(3)如何打开事件文件

命令行:terminal

--port指定端口,也可以不指定,--logdir指向存储事件文件的文件夹

tensorboard --logdir=logs --port=6007

我的结果如下:点击连接,即可看到结果

TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.8.0 at http://localhost:6007/ (Press CTRL+C to quit)

 注:如果出现了下图图像

原因:写入新的事件的时候,图像还记录着上一事件

解决方法:

方法一:将logs所有事件删掉,重新运行,打开事件文件

方法二:新创建一个文件夹logs1,重新类实例化writer=SummaryWriter("logs1")#类实例化

注:可以不看,类SummaryWriter详细信息,仅需知道类实例化时可以传入储存事件文件的文件夹名称

class SummaryWriter(object):
#直接向log_dir写入事件文件,该事件文件可以被tensorBoard进行解析
    """Writes entries directly to event files in the log_dir to be
    consumed by TensorBoard.

    The `SummaryWriter` class provides a high-level API to create an event file
    in a given directory and add summaries and events to it. The class updates the
    file contents asynchronously. This allows a training program to call methods
    to add data to the file directly from the training loop, without slowing down
    training.
    """
#初始化函数 log_dir 传入一个储存事件文件的文件夹名称
           
    def __init__(self, log_dir=None, comment='', purge_step=None, max_queue=10,
                 flush_secs=120, filename_suffix=''):
        """Creates a `SummaryWriter` that will write out events and summaries
        to the event file.

    

注:可以不看,仅需知道函数参数传啥即可

def add_scalars(self, main_tag, tag_scalar_dict, global_step=None, walltime=None):
    def add_scalar(
        self,
        tag,#图表标题
        scalar_value,#数值,相当于纵轴
        global_step=None,#步,相当于横轴
        walltime=None,
        new_style=False,
        double_precision=False,
    ):

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值