我在使用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)轰隆隆!仍然是同样的错误,也许这根本不会改变。
发布于 2019-03-01 16:42:26
发布的代码片段不足以成为问题的根本原因。
在编写器上调用close()方法时,成员变量file_writer设置为None。请检查是否在编写器上调用了close()方法。当编写器对象用作上下文管理器并退出with块时,也会调用close()方法。
with SummaryWriter() as writer:
writer.add_scalar...
writer.add_histogram # this will cause a crashhttps://stackoverflow.com/questions/54937532
复制相似问题