问题描述
版本:Keras 2.6 ,Tensorflow 2.6
自定义调整学习率参数lr错误
from keras.optimizer_v1 import SGD
model.compile(loss='mean_squared_error',optimizer=SGD(lr=0.05),metrics=['accuracy'])
pycharm报错:
ValueError: (‘tf.compat.v1.keras
Optimizer (’, <keras.optimizer_v1.SGD object at 0x0000016303DEFF70>, ‘) is not supported when eager execution is enabled. Use a tf.keras
Optimizer instead, or disable eager execution.’)
原因分析:
新版本用法查看官方文档:https://tensorflow.google.cn/api_docs/python/tf/keras/optimizers/SGD
解决方案:
改成以下形式即可
import tensorflow as tf
model.compile(loss='mean_squared_error',optimizer=tf.keras.optimizers.SGD(lr=0.05),metrics=['accuracy'])# 注意keras>2.5的写法