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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...