我正在尝试导入 Keras,但出现以下错误:
ImportError: cannot import name 'adam' from 'keras.optimizers' (/usr/local/lib/python3.8/dist-packages/keras/optimizers/__init__.py)
此处调用导入:
from tensorflow import keras
from keras.layers import Conv2D, Input, MaxPool2D,Flatten, Dense, Permute, GlobalAveragePooling2D
from keras.models import Model
from keras.optimizers import adam
import numpy as np
import pickle
import keras
import cv2
import sys
import dlib
import os.path
from keras.models import Sequential
from keras.applications.resnet50 import ResNet50
from keras.applications.resnet50 import Dense
from keras.optimizers import Adam
import pickle
import numpy as np
import cv2
import os
from keras.layers import Dropout
我确定 Keras 与 Tensorflow 一起安装:
python3 -c 'import keras; print(keras.__version__)' // 2.4.3
有两种类型的模块 -
这里我们需要使用tensorflow.keras
您需要从tensorflow - Keras(不仅是Keras)导入Adam(大写A)。
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.optimizers import Adam # - Works
from tensorflow.keras.optimizers import adam # - Does not work
from keras.optimizers import Adam # - Does not work
from keras.optimizers import adam # - Does not work
最近在Keras API 2.5.0最新更新中,导入Adam优化器出现如下错误:
from keras.optimizers import Adam
ImportError: cannot import name 'Adam' from 'keras.optimizers'
而是使用以下内容来导入优化器(即 Adam):
from keras.optimizers import adam_v2
optimizer = adam_v2.Adam(learning_rate=lr, decay=lr/epochs)
Model.compile(loss='--', optimizer=optimizer , metrics=['--'])
欲了解更多详情,请查看: https://programmerah.com/keras-nightly-import-package-error-cannot-import-name-adam-from-keras-optimizers-29815/
希望这有帮助。
from tensorflow.keras.optimizers import Adam
在第四行尝试这个(或者将其替换为上面的行)。这对我有用。
你可以做两件事:
使用张量流
from tensorflow.keras.optimizers import Adam
这可能会导致您将其他
keras.*
模块更改为 tensorflow.kerar.*
模块。
留在喀拉斯
from keras.optimizers_v1 import Adam
Adam 已转移到 Optimizer_v1 模块。
该错误来自旧版本的keras,在新版本中,您不必导入Adam,可以使用引号指定它,即:
model.compile(optimizer= "adam", loss='mse', metrics=[psnr, "accuracy"])
在第四行中,只需制作
from keras.optimizers import Adam
。 它应该工作得很好!
from keras.optimizer_v2 import adam
然后从 Adam 调用 Adam
adam.Adam(...);
以下对我有用:
# importing
from keras.optimizers import adam_v2
# to use it
adam_v2.Adam(...)
我在运行
tensorflow-2.6.0
(CPU 版本,已安装 pip
)和 Python3.8.7
的虚拟环境中。
我在这方面迷失了一整天后也遇到了类似的问题。我发现只是:
from tensorflow.python.keras.optimizers import adam_v2
adam_v2.Adam(learning_rate=0.0001, clipnorm=1.0, clipvalue=0.5)
对我有用(我有v2.11.0的tensorflow)。
我还在tensorflow.python.keras.optimizers中找到了这些其他优化器:
'adadelta_v2','adagrad_v2','adam_v2','adamax_v2','nadam_v2','rmsprop_v2',
您可以用作
from tensorflow.python.keras.optimizers import rmsprop_v2
rmsprop_v2.RMSprop(learning_rate=0.0001)
我正在使用
名称: 凯拉斯
版本:2.8.0
from keras.optimizers import adam_v2
然后使用adam优化器(使用tf.keras.optimizers.Adam):
model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.0001), loss='sparse_categorical_crossentropy', metrics=['accuracy'])
只需使用此行导入 Adam
from tensorflow.keras.optimizers import Adam
就我而言,发生了同样的事情,但在我检查之后,我发现我调用的路径有问题,因为我的张量流版本是 2.17.0,我必须安装 tf_keras 才能使用其他功能并且我这样解决我的问题: 从 tf_keras.optimizers 导入 Adam
from tf_keras.preprocessing.image import ImageDataGenerator
`from tensorflow.python.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout
从 tf_keras.optimizers 导入 Adam`