如何解决 tf.keras.optimizers.Adam(lr=0.001) 命令不起作用的问题?
How to solve the problem with tf.keras.optimizers.Adam(lr=0.001) command not working?
我正在开发 Google Colab,当我输入
model.compile(optimizer=tf.keras.optimizers.Adam(lr=1e-6), loss=tf.keras.losses.BinaryCrossentropy())
它不起作用,我收到以下错误消息
Could not interpret optimizer identifier: <keras.optimizer_v2.adam.Adam object at 0x7f21a9b34d50>
一般来说,您可能使用了不同的层导入和优化器导入版本。
tensorflow.python.keras API 用于模型和层,keras.optimizers 用于 SGD。它们是 TensorFlow 和纯 Keras 的两个不同 Keras 版本。他们不能一起工作。您必须将所有内容更改为一个版本。然后它应该工作。
也许尝试导入:
from tensorflow.keras.optimizers import Adam
model.compile(optimizer=Adam(lr=1e-6),loss=tf.keras.losses.BinaryCrossentropy())
其实我在用
keras===2.7.0
tensorflow==2.8.0
当我使用时它对我有用:
from keras.optimizers import adam_v2
然后
optimizer = adam_v2.Adam(lr=learning_rate)
model.compile(loss="binary_crossentropy", optimizer=optimizer)
而不是使用 tf.keras.optimizers.Adam
我正在开发 Google Colab,当我输入
model.compile(optimizer=tf.keras.optimizers.Adam(lr=1e-6), loss=tf.keras.losses.BinaryCrossentropy())
它不起作用,我收到以下错误消息
Could not interpret optimizer identifier: <keras.optimizer_v2.adam.Adam object at 0x7f21a9b34d50>
一般来说,您可能使用了不同的层导入和优化器导入版本。 tensorflow.python.keras API 用于模型和层,keras.optimizers 用于 SGD。它们是 TensorFlow 和纯 Keras 的两个不同 Keras 版本。他们不能一起工作。您必须将所有内容更改为一个版本。然后它应该工作。
也许尝试导入:
from tensorflow.keras.optimizers import Adam
model.compile(optimizer=Adam(lr=1e-6),loss=tf.keras.losses.BinaryCrossentropy())
其实我在用
keras===2.7.0
tensorflow==2.8.0
当我使用时它对我有用:
from keras.optimizers import adam_v2
然后
optimizer = adam_v2.Adam(lr=learning_rate)
model.compile(loss="binary_crossentropy", optimizer=optimizer)
而不是使用 tf.keras.optimizers.Adam