TensorFlow构建神经网络遇ValueError:无法识别{'lr':0.001}参数
问题解决思路
- 错误根源:
- TensorFlow 2.4及后续版本中,Adam优化器的学习率参数已从
lr更名为learning_rate,旧参数名不再被识别; - 代码里的
keras.optimizer存在拼写错误,正确应为复数形式keras.optimizers。
- TensorFlow 2.4及后续版本中,Adam优化器的学习率参数已从
- 修正后的代码:
model.compile( loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True), optimizer=keras.optimizers.Adam(learning_rate=0.001), metrics=["accuracy"], )
- 补充建议:如果使用的是低版本TensorFlow(低于2.4),
lr参数虽仍可用,但建议优先使用learning_rate以适配新版本;同时确认keras模块的导入路径正确,比如通过from tensorflow.keras import optimizers导入优化器模块,避免引用出错。
内容的提问来源于stack exchange,提问作者Isesele Victor
相关产品推荐
相关产品推荐

