报错情况如标题:
torchvision.ops.batched_nms()报错torchvision.ops没有属性batched_nms
查了一下,是版本不同导致的接口不一样了,调用如下:
from torchvision.ops import boxes as box_ops
keep = box_ops.batched_nms(boxes, scores, lvl, nms_thresh)
torchvision.ops.boxes.batched_nms()方法与nms()方法的区别如下:
区别:
batched_nms():
根据每个类别进行过滤,只对同一种类别进行计算IOU和阈值过滤。
nms():
不区分类别对所有bbox进行过滤。如果有不同类别的bbox重叠的话会导致被过滤掉并不会分开计算。
Torchvision.ops.nms():
参数:
boxes: Tensor, 预测框
scores: Tensor, 预测置信度
iou_threshold: float, IOU阈值
Torchvision.ops.batched_nms():
参数:
boxes: Tensor, 预测框
scores: Tensor, 预测置信度
idxs: Tensor, 预测框类别
iou_threshold: float, IOU阈值