服务器系列(22):Cannot convert list to array: ValueError: only one element tensors can be converted to ...

太长时间咸鱼了!!

转载:Cannot convert list to array: ValueError: only one element tensors can be converted to Python scalar

场景:我想将多个网络输出的结果(tensor类型)放到一个python list中, 然后直接转换成numpy类型, 结果报错

问题:只能将一个含有一个元素的Tensor转换成python标量

解决办法

对每一tensor先转换成numpy类型,然后在进行操作

return torch.Tensor( np.array( [self.vgg16(item).numpy() for item in data] ) )

tensor -- > numpy      方法是    .numpy()

numpy-->tensor          方法是    torch.from_numpy()

实际操作:

feats = torch.Tensor(np.array([item.numpy() for item in feats]))

你可能感兴趣的:(服务器系列(22):Cannot convert list to array: ValueError: only one element tensors can be converted to ...)