总结
1 问题
在将一个装有tensor 的list 转为tensor 时,遇到报错:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-7-35a94daf07b1> in <module>
8 print(type(a))
9
---> 10 res= t.tensor(a) # 将a 转为tensor
11 print(res)
ValueError: only one element tensors can be converted to Python scalars
2 解决方案
使用 stack
函数,参考如下案例:
"""stack函数的使用
Concatenates a sequence of tensors along a new dimension.
传入的参数可以是 tensor, 或者是tensors,所以就很符合这个需求
"""
tensor1=t.tensor([1,2,3])
tensor2=t.tensor([4,5,6])
tensor_list=list()
tensor_list.append(tensor1)
tensor_list.append(tensor2)
final_tensor=t.stack(tensor_list,0) #这里的维度还可以改成其它值
print('tensor_list:',tensor_list, ' type:',type(tensor_list))
print('final_tensor:',final_tensor, ' type',type(final_tensor))