tensor()数据类型中提取python内容

在yolo里面提取参数,有一个output变量,我print的时候长这样的:
在这里插入图片描述
从元组中一个个拆出来也不过是长这样:
在这里插入图片描述
很明显我只想要那个数,比如216.8973。


解决办法(一):适用于单参数

x_= output[:, 1].item()

简单说,那个变量后面加个.item()就ok。
如果形如tensor([w,x,y,z], device=torch.device(‘cpu’)),那么1只会取出[x],2取出[y]…

完美解决
在这里插入图片描述
注意:
在这里插入图片描述


解决办法(二):适用于多个参数

图中1937.jpg框出来的就是单一item,使用item()就可以啦。
图中1938.jpg框出来的就是典型的多item,不能用前面的方法。
在这里插入图片描述
我发现当在我的程序中如果检测到多个目标,里面就会有很多并列的组,形如tensor([[w,x,y,z], [w1,x1,y1,z1]], device=torch.device(‘cpu’))。

x = output[:, 1].tolist()

此时,会返回一个[w,w1]的list,因此转换成python,如果我们想取出w元素,就很容易了:

x = output[:, 1].tolist()[0]

后来看到了这篇文章,有Tensor中常用的方法概述,算是网上比较详细的。
? PyTorch学习笔记(二):Tensor操作


版权声明:本文为weixin_43525427原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。