ImportError: cannot import name '_obtain_input_shape' from keras

自作多情 提交于 2019-12-18 03:54:50

问题


In Keras,

I'm trying to import _obtain_input_shape as follows:

from keras.applications.imagenet_utils import _obtain_input_shape

However, I get the following error:

ImportError: cannot import name '_obtain_input_shape'

The reason I'm trying to import _obtain_input_shape is so that I can determine the input shape(so as to load VGG-Face as follows :

I'm using it to determine the correct input shape of the input tensor as follow:

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

Please assist? Thanks in advance.


回答1:


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



回答2:


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.




回答3:


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.




回答4:


for keras 2.2.4: Change the line like below to make it work.

from keras_applications.imagenet_utils import _obtain_input_shape

Note: It is importing from keras_applications and does not from keras.applications as before.



来源:https://stackoverflow.com/questions/49113140/importerror-cannot-import-name-obtain-input-shape-from-keras

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!