在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版权协议,转载请附上原文出处链接和本声明。