“ NoneType”对象没有属性“ add_summary”

时间:2019-03-01 03:31:52

标签: machine-learning error-handling parameters pytorch tensorboardx

我在使用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)

BOOM!仍然是同样的错误,也许根本不会改变。

1 个答案:

答案 0 :(得分:1)

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

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

static my_error_category_type c