在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)`
请帮忙? 提前致谢。
答案 0 :(得分:29)
您不必降级Keras 2.2.2。
在Keras 2.2.2
模块中没有_obtain_input_shape
方法。您可以在keras-applications下找到它,其模块名称为keras_applications(下划线)。
因此您不必将Keras降级到2.2.0,只需更改:
keras.applications.imagenet_utils
到
from keras.applications.imagenet_utils import _obtain_input_shape
答案 1 :(得分:9)
我找到了一种行之有效的方法。您只需使用
from keras_applications.imagenet_utils import _obtain_input_shape
注意:它是keras_applications
而不是keras.application
。
答案 2 :(得分:6)
发生此问题的原因是keras版本。
在我的情况下,我将keras 2.2.2降级到2.2.0,问题已解决。
答案 3 :(得分:1)
在 Colab 中,我通过导入 Keras
并安装来解决它:
import keras
!pip install keras_applications
from keras_applications.imagenet_utils import _obtain_input_shape
答案 4 :(得分:0)
对于keras 2.2.4: 更改如下所示的行以使其起作用。
from keras_applications.imagenet_utils import _obtain_input_shape
注意:它是从 keras_applications 导入的,而不是像以前那样从 keras.applications 导入的。
答案 5 :(得分:0)
不推荐使用keras_applications.imagenet_utils
回溯(最近通话最近): 在第36行的文件“ inception_v3.py”中 从keras_applications.imagenet_utils导入_obtain_input_shape ModuleNotFoundError:没有名为“ keras_application”的模块
答案 6 :(得分:0)
from keras.applications.imagenet_utils import obtain_input_shape
不是_obtain_input_shape。这适用于 keras==2.5.0rc0 (pip install keras==2.5.0rc0)