Keras 中的“无法解释优化器标识符”错误

新手上路,请多包涵

当我尝试在 Keras 中修改 SGD 优化器的学习率参数时出现此错误。我是不是遗漏了代码中的某些内容,或者我的 Keras 没有正确安装?

这是我的代码:

 from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense, Flatten, GlobalAveragePooling2D, Activation
import keras
from keras.optimizers import SGD

model = Sequential()
model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
model.add(Activation('softmax'))
model.compile(loss='mean_squared_error', optimizer=SGD(lr=0.01), metrics= ['accuracy'])*

这是错误消息:

追溯(最近调用最后):文件“C:\TensorFlow\Keras\ResNet-50\test_sgd.py”,第 10 行,在 model.compile(loss=‘mean_squared_error’, optimizer=SGD(lr=0.01), metrics =[‘accuracy’]) 文件“C:\Users\nsugiant\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\keras_impl\keras\models.py”,第 787 行,编译**kwargs) 文件“C:\Users\nsugiant\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\keras_impl\keras\engine\training.py”,第 632 行,自编译.optimizer = optimizers.get(optimizer) 文件“C:\Users\nsugiant\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\keras_impl\keras\optimizers.py”,第 788 行, in get raise ValueError(‘Could not interpret optimizer identifier:’, identifier) ValueError: (‘无法解释优化器标识符:’, )

原文由 Nehemia 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

原因是您正在使用 tensorflow.python.keras API 用于模型和图层,而 keras.optimizers 用于 SGD。它们是 TensorFlow 和纯 Keras 的两个不同 Keras 版本。他们不能一起工作。您必须将所有内容更改为一个版本。然后它应该工作。

原文由 Priyanka Chaudhary 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题