【问题标题】:pytorch+tensorboard error " AttributeError: 'Tensor' object has no attribute 'items' "pytorch+tensorboard 错误“AttributeError:‘Tensor’对象没有属性‘items’”
【发布时间】:2020-08-11 17:53:15
【问题描述】:

下午好。 我想使用 pytorch 中的张量板记录火车的损失。 我在那里遇到了一个错误。

AttributeError: 'Tensor' object has no attribute 'items'

我想解决这个错误并使用 tensorboard 检查日志。 这里我展示了我的代码。

l_mse = mseloss(img,decoder_out)
writer.add_scalars("MSE",l_mse,n_iter)

img 是 GAN 中的真实图像,decoder_out 是生成器输出。 然后我有错误打击。

Traceback (most recent call last):
  File "main.py", line 39, in <module>
    main()
  File "main.py", line 22, in main
    solover.train(dataloader)
  File "path to my file", line 239, in train
    writer.add_scalars("MSE",l_mse,n_iter)
  File "/~~/anaconda3/lib/python3.7/site-packages/torch/utils/tensorboard/writer.py", line 378, in add_scalars
    for tag, scalar_value in tag_scalar_dict.items():
AttributeError: 'Tensor' object has no attribute 'items'

我试过了

writer.add_scalars("MSE",l_mse,n_iter).eval()
writer.add_scalars("MSE",l_mse.item(),n_iter)
writer.add_scalars("MSE",l_mse.detach().cpu().numpy(),n_iter)

但仍然无法正常工作。

【问题讨论】:

    标签: python tensorflow pytorch tensorboard


    【解决方案1】:

    您使用s 呼叫writer.add_scalars。从Pytorch Tensorboardx 文档中,您可以看到此函数需要dictionary 作为输入。

     add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)
    
    • tag_scalar_dict (dict) – 存储标签和对应值的键值对
    writer = SummaryWriter()
    r = 5
    for i in range(100):
        writer.add_scalars('run_14h', {'xsinx':i*np.sin(i/r),
                                        'xcosx':i*np.cos(i/r),
                                        'tanx': np.tan(i/r)}, i)
    writer.close()
    

    改用writer.add_scalar

    要记录标量值,请使用writer.add_scalar('myscalar', value, iteration)。请注意,如果您输入 PyTorch 张量,程序会报错。如果 x 是火炬标量张量,请记住通过x.item() 提取标量值。

    writer.add_scalar("MSE", l_mse.item(), n_iter)
    

    【讨论】:

    • 感谢您的关注!我尝试做writer.add_scalar("MSE", l_mse.item(), n_iter)但仍然是同样的错误。
    • 你能把l_mse.size()的输出放在这里吗?
    猜你喜欢
    • 2018-03-15
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 2015-11-14
    • 2013-09-22
    • 2021-11-02
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多