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

训练SSD MobileNet V2模型遇mutable default错误求助

解决SSD MobileNet V2 FPNLite训练时的mutable default错误

这个错误的核心原因是dataclass不允许将可变类型(这里是SGDConfig类实例)直接作为字段默认值,必须通过default_factory来生成默认实例。具体解决步骤如下:

  • 定位到报错对应的配置文件:official/modeling/optimization/configs/optimizer_config.py
  • 找到定义OptimizerConfig(或相关配置类)的代码块,修改字段定义:
    原代码可能类似:
    @dataclass
    class OptimizerConfig:
        sgd: SGDConfig = SGDConfig()
    
    替换为:
    from dataclasses import dataclass, field
    
    @dataclass
    class OptimizerConfig:
        sgd: SGDConfig = field(default_factory=SGDConfig)
    
  • 检查文件中其他类似的可变默认值字段(如adam、rmsprop等配置类),统一改成field(default_factory=对应配置类)的形式
  • 保存修改后重新运行训练脚本

补充说明:Python的dataclass禁止使用可变默认值是为了避免意外的共享状态问题,TensorFlow 2.12的官方配置模板中可能存在这个疏漏,手动修正配置类的字段定义即可解决问题。

内容的提问来源于stack exchange,提问作者Bongo Juniorr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 03:42:02