0

我无法使用 tensorboardX 可视化模型的权重和偏差。这是我的模型(无论如何它很简单):

    self.pipe = nn.Sequential(nn.Linear(9, 128),
                             nn.ReLU(),
                             nn.Linear(128, 256),
                             nn.ReLU(),
                             nn.Linear(256,2),
                             nn.Softmax()
                             )

     def forward(self, x):
     return self.pipe(x)

这是我在 pytorch 中遇到错误的地方

for name, param in net.named_parameters():
    writer.add_histogram(name, param, epoch_size, bins='auto')

错误是

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-70-d060d2df4423> in <module>()
      1 for name, param in net.named_parameters():
----> 2     writer.add_histogram(name, param, epoch_size, bins='auto')

~\Anaconda3\lib\site-packages\tensorboardX\writer.py in add_histogram(self, tag, values, global_step, bins, walltime)
    403         if isinstance(bins, six.string_types) and bins == 'tensorflow':
    404             bins = self.default_bins
--> 405         self.file_writer.add_summary(
    406             histogram(tag, values, bins), global_step, walltime)
    407 

AttributeError: 'NoneType' object has no attribute 'add_summary'

但我真的必须看到权重处于次优状态的直方图。所以我稍微更改了代码以逐步进行

param = np.array(list(net.parameters()))   
print(param[0].data)
writer.add_histogram('weight', param[0].data)

繁荣!仍然是同样的错误,也许这根本没有改变。

4

1 回答 1

1

发布的代码片段不足以根本导致问题。

当在 writer 上调用 close() 方法时,成员变量 file_writer 设置为 None。请检查是否在 writer 上调用了 close() 方法。当 writer 对象用作上下文管理器并且退出 with 块时,也会调用 close() 方法。

with SummaryWriter() as writer:
   writer.add_scalar...

writer.add_histogram # this will cause a crash
于 2019-03-01T08:42:25.730 回答