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

使用CapsNet训练模型出现ValueError: Could not interpret initializer identifier: 0.5报错求助

报错根因

该报错和dropout ratio取值本身无关,是参数传递位置错误导致的:

  • 报错堆栈指向Embedding层初始化逻辑,你将浮点数值0.5错误传递给了embeddings_initializer参数。该参数只接收Keras初始化器实例、初始化器名称字符串等合法标识符,不接收数值类的dropout比例参数,因此抛出值错误。
修复步骤
  • 打开codes/models/text_layer.py文件,定位到第134行的Embedding层定义代码
  • 核对参数传递规则:Keras Embedding层的前三个参数依次为input_dim(词表大小)、output_dim(嵌入维度)、embeddings_initializer(嵌入矩阵初始化器),你需要确认自己传入的参数是否存在顺序错位

    错误写法示例:

    # 未指定参数名,0.5被传给第三个参数embeddings_initializer
    embedding = layers.Embedding(self.vocab_size, self.embedding_size, 0.5)
    

    正确写法示例:

    # 显式指定dropout参数名,避免参数错位
    embedding = layers.Embedding(self.vocab_size, self.embedding_size, dropout=0.5)
    
  • 如果你要配置的是独立Dropout层的比例,直接将0.5传入Dropout层的构造函数即可,不要写到Embedding层的参数列表中
效果验证

修改完成后重新启动训练,只要embeddings_initializer参数接收到合法值,即可解决该报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:03