【发布时间】:2021-12-11 20:51:06
【问题描述】:
我在运行用于构建 CNN 的 SGD 优化器时出现以下错误
--> 146 优化器 = SGD(0.01, 0.8, 0.0005, nesterov=True) 147 model.compile(优化器=优化器,损失='categorical_crossentropy',指标=['accuracy']) 148 #训练模型
TypeError: init() 为参数 'nesterov' 获得了多个值
【问题讨论】:
我在运行用于构建 CNN 的 SGD 优化器时出现以下错误
--> 146 优化器 = SGD(0.01, 0.8, 0.0005, nesterov=True) 147 model.compile(优化器=优化器,损失='categorical_crossentropy',指标=['accuracy']) 148 #训练模型
TypeError: init() 为参数 'nesterov' 获得了多个值
【问题讨论】:
keras SGD 优化器有 3 个参数,它接受 kwargs,所以最好给你的参数提供密钥。
tf.keras.optimizers.SGD(learning_rate=0.01, momentum=0.0, nesterov=False, name="SGD")
【讨论】:
如果更改代码后问题没有解决。你必须升级 Keras 并以这种方式使用它
optimizer = SGD(lr=0.01, momentum=0.8, decay=0.0005, nesterov=True)
model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
【讨论】: