错误原因:
有一个列表是A
,其元素是多个tensor
,这时会如题报错。解决方案是,将A的元素
先转化为ndarray
,再变换为tensor
。具体操作如下:
- 如果是在gpu上,由于在gpu中不能转换为
array
A = torch.tensor( [item.cpu().detach().numpy() for item in A] )
- 如果是在cpu上:
A = torch.tensor([item.detach().numpy() for item in A])
特别需要提的一点是
如果A
是多层嵌套的tensor
,比如
A = [
[tensor, tensor].
[tensor, tensor],
]
那么还是需要具体把每一个tensor
都转化为array
才可以,否则数据类型会显示为np._object
,而非可以转化为tensor
的int,float
等数据类型。