我希望为ResNet50(预训练)模型生成联合交集(IoU)分数。以下是我计算IoU分数的函数:
def IoU(predict: torch.Tensor, target: torch.Tensor):
i = (predict & target).double().sum()
u = (predict | target).double().sum()
x = (i/u)
IoU = x.item()
return IoU
下面是实现IoU分数的函数:
def applyIoU(model, dataset):
IoU_score = []
for i in range(len(dataset)):
image,true_mask = dataset[i]
x_tensor = torch.from_numpy(image).to('cpu').unsqueeze(0)
pred_mask = model.predict(x_tensor)
true_mask = torch.from_numpy(true_mask).to('cpu').unsqueeze(0)
IoU_score = IoU(pred_mask, true_mask)
assert type(true_mask) == torch.Tensor
return IoU_score
当我运行代码时,我得到以下错误。有没有其他方法可以不使用获得借条分数&和|Pytorch中的操作员?谢谢
156
--> 157 i = (predict & target).double().sum()
158 u = (predict | target).double().sum()
159 x = (i/u)
RuntimeError: "bitwise_and_cpu" not implemented for 'Float
目前没有回答
相关问题 更多 >
编程相关推荐