iou > 0.5相当于
uint8相当于byte类型,不能进行乘法操作。
数据类型转换:
转换后数据本身不变,只是筛选的时候规则改变了,
index=torch.Tensor([0,1,1]).type(torch.ByteTensor) print(index) index=index.type(torch.FloatTensor) print(index)
import torch
m=torch.Tensor([0.1,0.2,0.3])
iou=torch.Tensor([0.5,0.6,0.7])
a=iou > 0.5
index=torch.Tensor([0,1,1]).type(torch.ByteTensor)
m[index]=2
m[a]=2
#a与index结果一样,因为是ByteTensor,这里0,1代表每一个位置是否有效
print(m)
#tensor([0.1000, 2.0000, 2.0000])
m=torch.Tensor([0.1,0.2,0.3])
index=torch.Tensor([0,1,1]).type(torch.LongTensor)#这里0,1代表序号
#