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

Keras运行旧ANN代码提示missing required argument 'units'错误如何解决

错误产生原因

你运行的代码使用的是Keras 1.x版本的旧API规范,而你本地安装的是Keras 2.x及以上版本(包括整合进TensorFlow的tf.keras),API参数名发生了不兼容的变更,具体涉及的参数变更如下:

  • 旧版Dense层的输出维度参数output_dim被重命名为必填参数units,这就是报错提示missing 1 required positional argument: 'units'的直接原因
  • 旧版Dense层的权重初始化参数init被重命名为kernel_initializer
  • 旧版模型训练fit方法的训练轮次参数nb_epoch被重命名为epochs
修复方案

按以下规则修改对应代码即可正常运行:

  1. 修改全部Dense层的参数名
    • 输入层+第一隐藏层修改为:
    classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu', input_dim = 10))
    
    • 第二隐藏层修改为:
    classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu'))
    
    • 输出层修改为:
    classifier.add(Dense(units = 3, kernel_initializer = 'uniform', activation = 'sigmoid'))
    
  2. 修改模型训练代码的参数名
    classifier.fit(X_train, y_train, batch_size = 10, epochs = 10)
    
  3. 修正预测代码的转义字符,把>改为普通大于号:
    y_pred = (y_pred > 0.5)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:24:02