在我的pytorch代码中,我的字典输出如下:
errors = {0: tensor(64.4072, device='cuda:0'), 1: tensor(58.2704, device='cuda:0')}
我正在将此dict转换为json,并使用以下代码将json写入文件:
json_object = json.dumps(errors, indent = 4)
with open("train_loss_dic.json", "w") as outfile:
outfile.write(json_object)
但是,我得到以下错误:
TypeError: Object of type Tensor is not JSON serializable
如何转换Tensor,使其在pytorch中可序列化json?我的版本是torch==1.9.0和torchvision==0.10.0
感谢您的帮助!
1条答案
按热度按时间fd3cxomn1#
因为你有单元素Tensor,你可以简单的调用
item()
关于恢复python的Tensorfloat
从他们那里。这些是可序列化的。您可以使用:
换个新的
dict
这是可序列化的。希望这有帮助:)