You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matterport版Mask R-CNN加载权重时anchors层报错咨询

问题背景

项目涉及细胞检测任务,计划使用Usiigaci预训练权重开展神经网络迁移学习训练,加载权重时触发如下报错:

ValueError: Layer #362 (named "anchors") expects 1 weight(s), but the saved weights have 0 element(s)

经测试,加载COCO预训练权重可正常运行,加载Usiigaci权重使用的代码如下:

model = MaskRCNN(mode='training', model_dir='./', config=config)
model.load_weights('Usiigaci_3.h5', by_name=True, exclude=["mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox", "mrcnn_mask"])

此外,加载基于自有图片数据集训练生成的权重进行断点续训时,也出现同类报错,具体报错信息为:

ValueError: Layer #362 (named "anchors"), weight <tf.Variable 'Variable:0' shape=(4, 261888, 4) dtype=float32> has shape (4, 261888, 4), but the saved weight has shape (2, 261888, 4).

加载自训练权重的代码如下:

model.load_weights('new_weigths/40_epochs/mask_rcnn_cell_cfg_0040.h5', by_name=True, exclude=["mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox", "mrcnn_mask"])
报错原因

两个报错的核心触发点都是anchors层权重不匹配:

  • anchors是Mask R-CNN中负责生成候选锚框的非训练层,权重完全由当前配置参数动态生成,不参与训练更新,不需要从权重文件中读取。
  • 加载Usiigaci权重报错的原因:Usiigaci版本的Mask R-CNN实现保存权重时,默认跳过了无训练参数的anchors层,权重文件中没有存储该层参数,当前模型实例加载时找不到对应权重,直接触发元素数量不匹配错误。
  • 断点续训时的形状不匹配报错:当前训练配置中设置的锚框宽高比数量为4,而上次训练保存权重时使用的配置仅设置了2种锚框宽高比,两边生成的anchors层张量形状不一致,加载时触发形状不匹配错误。
解决方法
  • 加载所有权重(包括第三方预训练权重、自训练断点续训权重)时,在exclude参数列表中新增"anchors"项,跳过该层的权重加载即可。anchors层参数会在模型初始化时根据当前配置自动生成,不从权重文件读取不会对训练效果产生任何影响。
    修改后的加载代码参考:
    # 加载Usiigaci预训练权重
    model.load_weights('Usiigaci_3.h5', by_name=True, exclude=[
        "mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox", "mrcnn_mask", "anchors"
    ])
    
    # 断点续训加载自有权重
    model.load_weights('new_weigths/40_epochs/mask_rcnn_cell_cfg_0040.h5', by_name=True, exclude=[
        "mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox", "mrcnn_mask", "anchors"
    ])
    
  • 断点续训场景下,除跳过anchors层加载外,必须保证当前使用的训练配置和上次保存权重时的配置完全一致,重点核对输入图像尺寸、锚框尺度、锚框宽高比、骨干网络步长等直接影响锚框生成的参数,避免锚框分布和已训练特征分布不匹配导致训练精度下降。

内容的提问来源于stack exchange,提问作者Avner St

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 18:31:13