简体   繁体   English

运行用于构建 CNN 的 SGD 优化器时出错

[英]Error while running a SGD optimizer for building CNN

i get following error while running a SGD optimizer for building a CNN我在运行用于构建 CNN 的 SGD 优化器时出现以下错误

--> 146 optimizer = SGD(0.01, 0.8, 0.0005, nesterov=True) 147 model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy']) 148 #Train the model --> 146 优化器 = SGD(0.01, 0.8, 0.0005, nesterov=True) 147 model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy']) 148 #Train the Z20F35E630DAF394F5399DAF868

TypeError: init () got multiple values for argument 'nesterov' TypeError: init ()为参数“nesterov”获得了多个值

keras SGD optimizer has 3 parameters and it accept kwargs so it better to give keys to your parameter. keras SGD优化器有 3 个参数,并且它接受 kwargs,因此最好为您的参数提供密钥。

tf.keras.optimizers.SGD(learning_rate=0.01, momentum=0.0, nesterov=False, name="SGD")

If the problem does not solve after changing the code.如果改代码后问题没有解决。 You have to upgrade Keras and use it this way您必须升级 Keras 并以这种方式使用它

optimizer = SGD(lr=0.01, momentum=0.8, decay=0.0005, nesterov=True)
model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy']) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM