web-dev-qa-db-ja.com

ImportError:名前 '_obtain_input_shape'をkerasからインポートできません

ケラスでは、

次のように_obtain_input_shapeをインポートしようとしています。

from keras.applications.imagenet_utils import _obtain_input_shape

ただし、次のエラーが表示されます。

ImportError:名前 '_obtain_input_shape'をインポートできません

_obtain_input_shapeをインポートしようとしている理由は、次のように VGG-Face を読み込むために入力形状を決定できるようにするためです。

次のように入力テンソルの正しい入力形状を決定するために使用しています。

input_shape = _obtain_input_shape(input_shape,
                                  default_size=224,
                                  min_size=48,
                                  data_format=K.image_data_format(),
                                  require_flatten=include_top)`

手伝ってください?前もって感謝します。

18
Tshilidzi Mudau

Keras 2.2.2をダウングレードする必要はありません。

Keras 2.2.2には、_obtain_input_shapeモジュールにkeras.applications.imagenet_utilsメソッドがありません。 keras-applications で、モジュール名keras_applications(アンダースコア)で見つけることができます。

したがって、変更するだけでKerasを2.2.0にダウングレードする必要はありません。

from keras.applications.imagenet_utils import _obtain_input_shape

from keras_applications.imagenet_utils import _obtain_input_shape
35
Geeocode

うまく機能する方法を見つけました。あなたはただ使う

from keras_applications.imagenet_utils import _obtain_input_shape 

通知:keras_applications の代わりに keras.application

9
galoiszhang

この問題は、kerasのバージョンが原因で発生しました。

私の場合、私はkeras 2.2.2を2.2.0にダウングレードし、問題は解決しました。

6
user5803658

keras 2.2.4の場合:以下のように行を変更して機能させます。

from keras_applications.imagenet_utils import _obtain_input_shape

注:keras_applicationsからインポートされ、以前のようにkeras.applicationsからインポートされません。

0
Jyotirmay