无法使用torch.utils.tensorboard查看图表

时间:2019-10-10 13:46:29

标签: tensorflow graph pytorch tensorboard

我试图适应张量板,并且我使用pytorch对模型进行编码。 但是,当我尝试使用add_graph()函数查看模型时,我得到了这个:enter image description here

以此作为测试代码:

import numpy as np
import torch
import torchvision.transforms as transforms
import torch.nn as nn
import torch.optim as optim
from torch.utils.tensorboard import SummaryWriter

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.linear = nn.Linear(2, 1)

    def forward(self, x):
        x = self.linear(x)
        return x

writer = SummaryWriter('runs_pytorch/test')
net = Net()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)
writer.add_graph(net, torch.zeros([4, 2], dtype=torch.float))
writer.close()

另一方面,如果我尝试使用TensorFlow查看图形,那么一切似乎都很好: enter image description here

这次以它作为测试代码:

import tensorflow as tf
tf.Variable(42, name='foo')
w = tf.summary.FileWriter('runs_tensorflow/test')
w.add_graph(tf.get_default_graph())
w.flush()
w.close()

如果您想知道,我正在使用以下命令来启动tensorboard:

tensorboard --logdir runs_pytorch

我注意到的是,当我在为我的tensorflow测试分配的目录上使用它时,我得到了带有地址的普通消息,但是如果我对--logdir runtime_pytorch做同样的事情,那么我可以获得更多的东西:

W1010 15:19:24.225109 15308 plugin_event_accumulator.py:294]每次运行发现多个图形事件,或者存在一个包含graph_def的元图以及一个或多个图形事件。用最新事件覆盖图形。 W1010 15:19:24.226075 15308 plugin_event_accumulator.py:322]找到了多个带有标签step1的“运行元数据”事件。用最新事件覆盖它。

我在Windows上,我在不同的浏览器(chrome,firefox ...)上尝试过。 我有tensorflow 1.14.0,火炬1.2.0,Python 3.7.3

非常感谢您的帮助,这使我发疯!

2 个答案:

答案 0 :(得分:1)

有两种解决方法:

1。将PyTorch更新到1.3.0及更高版本:

  • conda方式:

        conda install pytorch torchvision cudatoolkit=9.2 -c pytorch
    
  • 点子方式:

        pip3 install torch==1.3.0+cu92 torchvision==0.4.1+cu92 -f https://download.pytorch.org/whl/torch_stable.html
    

2。改为安装tensorboardX:

  • 卸载Tensorboard:

    如果您的张量板是通过pip安装的:

        pip uninstall tensorboard
    

    如果您的张量板是由anaconda安装的:

        conda uninstall tensorboard
    
  • 安装tensorboardX

        pip install tensorboardX
    
  • 在编写脚本时, 改变

        from torch.utils.tensorboard import SummaryWriter
    

        from tensorboardX import SummaryWriter
    

答案 1 :(得分:0)

这可能是由此known problem引起的,似乎已经在昨天实现的pytorch 1.3中得到了解决-在release notes中查看错误修复