使用Keras搭建网络报错:Keyword argument not understood: W_regularizer
问题原因
这个报错是由于你使用的Keras 2.0及以上版本调整了层参数的命名规则,旧版API中用于设置权重正则化的W_regularizer参数已被废弃,不再被识别。
解决方法
将代码中的旧版参数名替换为新版对应的参数名即可:
- 权重(kernel)正则化参数从
W_regularizer更改为kernel_regularizer - 偏置(bias)正则化参数从
b_regularizer更改为bias_regularizer
修改后可运行的代码示例
# 如未提前导入依赖先执行下方导入语句 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.regularizers import l1 model = Sequential() #model.add(Dense(1, activation="relu", input_dim = X_train.shape[1])) model.add(Dense(1, input_dim = X_train.shape[1], kernel_regularizer = l1(0.001))) model.compile(loss = "mse", optimizer = "adam")
如果使用的是独立安装的Keras而非TensorFlow内置的Keras,将导入路径中的tensorflow.keras替换为keras即可。
内容的提问来源于stack exchange,提问作者user15740285
相关产品推荐
相关产品推荐

