Mask_RCNN:ValueError: Dimension 1 in both shapes must be equal, but are 8 and 324.

前几天有人在之前Mask_RCNN预测文章中:

Mask_RCNN:使用自己训练好的模型进行预测


评论了该问题:



1.原因

我看了一下,主要是因为直接使用了官方给出的COCO权重进行了预测,但是可能COCO的80类物体中存在有想预测的东西,因此直接把NUM_CLASS改为了1+1;这样显然是不对的,因为1个类占了4个通道,因此是(1+80)*4=324,但是现在改为了(1+1)*4=8【8!=324】,模型自然会报错!


2.解决方法

因此使用官方给出的权重,而不是自己训练的,同时遇到这个问题的同学,请把这个地方改为:1+80:


当然,我们可以验证一下:将1+80改为1+70,会出现以下错误:


(1+70)*4正好等于284!结论正确!

你可能感兴趣的:(深度学习)