使用tensorflow 2.0、keras2.8时,两个库若即若离,互相干扰,导致了很多报错。
在使用优化器SGD时,尝试几种方法。
from keras.optimizer_v1 import sgd
model.compile(loss="mse", optimizer=sgd(lr=1e-6, momentum=0.9))
报错
from tensorflow.python.keras.optimizer_v1 import sgd
model.compile(loss="mse", optimizer=sgd(lr=1e-6, momentum=0.9))
还是报错
import tensorflow
model.compile(loss="mse", optimizer=tf.keras.optimizers.SGD(lr=1e-6, momentum=0.9))
正确
虽然新版本keras移到了tensorflow.python下,但是SGD优化器好像没移过去,而RMSprop则使用新版本方法。
详情参考Tensorflow V2.80 SGD官方文档
https://tensorflow.google.cn/api_docs/python/tf/keras/optimizers/SGD
在TensorFlow 2.8和Keras 2.8环境下,遇到使用SGD优化器时的兼容性问题。尝试从`keras.optimizer_v1`和`tensorflow.python.keras.optimizer_v1`导入SGD都导致报错。最终通过`tf.keras.optimizers.SGD`成功导入并使用SGD优化器,但注意到RMSprop的导入方式与SGD不同。查阅官方文档确认了SGD的正确导入路径。

6428

被折叠的 条评论
为什么被折叠?



