web-dev-qa-db-fra.com

ImportError: impossible d'importer le nom '_obtain_input_shape' depuis keras

À Keras, 

J'essaie d'importer _obtain_input_shape comme suit: 

from keras.applications.imagenet_utils import _obtain_input_shape

Cependant, j'obtiens l'erreur suivante: 

ImportError: impossible d'importer le nom '_obtain_input_shape'

J'essaie d'importer _obtain_input_shape pour pouvoir déterminer la forme en entrée (afin de charger VGG-Face comme suit: 

Je l'utilise pour déterminer la forme d'entrée correcte du tenseur d'entrée comme suit: 

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

S'il vous plaît aider? Merci d'avance. 

11
Tshilidzi Mudau

Vous n'êtes pas obligé de déclasser Keras 2.2.2.

Dans Keras 2.2.2, il n'y a pas de méthode _obtain_input_shape dans le module keras.applications.imagenet_utils. Vous pouvez le trouver sous keras-applications avec le nom de module keras_applications (underscore). 

Ainsi, vous n'avez pas à rétrograder votre keras à la version 2.2.0, il suffit de changer:

from keras.applications.imagenet_utils import _obtain_input_shape

à

from keras_applications.imagenet_utils import _obtain_input_shape
22
Geeocode

J'ai trouvé une méthode qui fonctionne bien. Vous venez d'utiliser 

from keras_applications.imagenet_utils import _obtain_input_shape 

Remarque: il s'agit de keras_applications au lieu de keras.application.

9
galoiszhang

Ce problème est dû à la version de keras.

Dans mon cas, j'ai été déclassé keras 2.2.2 à 2.2.0 et le problème a été résolu.

6
user5803658

pour les keras 2.2.4: Modifiez la ligne comme ci-dessous pour que cela fonctionne.

from keras_applications.imagenet_utils import _obtain_input_shape

Remarque: Il importe depuis keras_applications et pas depuis keras.applications comme avant.

0
Jyotirmay