value error: only one element tensors can be converted to python scalars

在使用numpy库中的numpy.asarray(), numpy.array() ... 等类似把tuple数据类型转化为array的形式时,遇到了“value error: only one element tensors can be converted to python scalars”的错误。错误的大致意思是:只有单元素的张量可以被转化成python的尺度数。

例如:

tp1 = (1,2,3,4,5,6)

tp2 = (2,2,3,4,5,6)

arr1 = np.array(tp1,dtype=float)

arr2 = np.array(tp2,dtype=float)

print(type(arr1)) #查看arr1的数据类型 print(d)

返回 <class 'numpy.ndarray'>

遇到这样的:

tp = (tensor([[1,2,3],[4,5,6]]))

就不能直接使用numpy.array()函数进行数据类型的转换。

# tuple _ list

listtuple1 = []
for i in range(len(tp)):
    listtuple1 += list(tp[i].view(-1))

# list _ tensor

tlisttuple1 = torch.tensor(listtuple1)

# tensor _ array

ar = numpy.asarray(tlisttuple1) 

或者 你想要的array的形状:ar = numpy.asarray(tlisttuple1).reshape(x,y)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值