AttributeError:在给定实例中找不到字段“ pred_masks”

问题描述

我在Colab上使用RetinaNet Detectron2训练了一个模型。培训成功了,但是我无法在图像上对其进行测试。

代码

from detectron2.utils.visualizer import ColorMode
import glob

for imageName in glob.glob('/content/drive/My Drive/Detectron/test/*jpg'):
    print(imageName)
    im = cv2.imread(imageName)
    outputs = predictor(im)
    v = Visualizer(im[:,:,::-1],Metadata=test_Metadata,scale=0.8,instance_mode=ColorMode.IMAGE_BW
                 )
    out = v.draw_instance_predictions(outputs["instances"].to("cpu"))
    cv2_imshow(out.get_image()[:,::-1])

错误

/内容/驱动器/我的 驱动器/检测仪/测试/wh_dresscode_4969_jpg.rf.5a2702518691d3d6f9cef7ad7977e5c8.jpg 数据类型: AttributeError Traceback(最近一次调用 最后)

AttributeError:在给定的实例中找不到字段'pred_masks'!

解决方法

似乎您的模型受过训练,只能预测边界框;也就是说,您无法像maskrcnn中那样预测细分蒙版。在这种情况下,您可以从instance_mode=ColorMode.IMAGE_BW删除Visualizer