1. ホーム
  2. keras

[解決済み] ImportError: cannot import name 'adam' from 'keras.optimizers'

2022-03-09 16:54:47

質問

Kerasをインポートしようとしているのですが、以下のエラーが発生します。

ImportError: cannot import name 'adam' from 'keras.optimizers' (/usr/local/lib/python3.8/dist-packages/keras/optimizers/__init__.py)

ここでimportが起動されます。

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

Tensorflowと一緒にKerasもインストールされているはずです。

python3 -c 'import keras; print(keras.__version__)' // 2.4.3

解決方法は?

モジュールには2つのタイプがあります。

  1. ケラス
  2. tensorflow.keras

ここでは、tensorflow.kerasを使用する必要があります。

Adam (With Capital A) from tensorflow - Keras ( Not only Keras) をインポートする必要があります。

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