TypeError: Object of type Tensor is not JSON serializable

测试模型时,保存检测结果时出现这个错误:

TypeError: Object of type Tensor is not JSON serializable

网上提供了一种解决方案是这样的:

#json.dump(detections.numpy, file_obj)
json.dump(detections.numpy(), file_obj)

引发的又是另一个错误:

AttributeError: 'list' object has no attribute'numpy'

Emmm…
最终决定还是老老实实的用torch自带的方法保存了,不再转换数据类型

#保存tensor
torch.save(detections, 'test_save_tensor.pt')
#读取tensor
load_torch = torch.load('test_save_tensor.pt')

!也可以用pickle保存,这样保存的好处是文件在别的设备上加载的时候不会像torch.load那样因为环境问题而报错

你可能感兴趣的:(python,pytorch,json,python,深度学习)