ImportError: cannot import name '_obtain_input_shape' from keras

I have found a method that works well. You just use

from keras_applications.imagenet_utils import _obtain_input_shape 

Notice: It is keras_applications instead of keras.application.


You don't have to downgrade Keras 2.2.2.

In Keras 2.2.2 there is no _obtain_input_shape method in the keras.applications.imagenet_utils module. You can find it under keras-applications with the modul name keras_applications (underscore).

So you don't have to downgrade your Keras to 2.2.0 just change:

from keras.applications.imagenet_utils import _obtain_input_shape

to

from keras_applications.imagenet_utils import _obtain_input_shape

This issue occured because of the version of keras.

In my case, I was downgrade keras 2.2.2 to 2.2.0, and the problem was solved.