Keras 导入错误:无法导入名称'_获取"输入"形状';来自凯拉斯

Keras 导入错误:无法导入名称'_获取"输入"形状';来自凯拉斯,keras,keras-layer,keras-2,Keras,Keras Layer,Keras 2,在凯拉斯 我正在尝试导入\u获取\u输入\u形状,如下所示: from keras.applications.imagenet_utils import _obtain_input_shape 但是,我得到以下错误: 导入错误:无法导入名称“\u获取\u输入\u形状” 我尝试导入_获取_输入_形状的原因是为了确定输入形状(以便按如下方式加载): 我用它来确定输入张量的正确输入形状,如下所示: input_shape = _obtain_input_shape(input_shape,

在凯拉斯

我正在尝试导入
\u获取\u输入\u形状
,如下所示:

from keras.applications.imagenet_utils import _obtain_input_shape
但是,我得到以下错误:

导入错误:无法导入名称“\u获取\u输入\u形状”

我尝试导入_获取_输入_形状的原因是为了确定输入形状(以便按如下方式加载):

我用它来确定输入张量的正确输入形状,如下所示:

input_shape = _obtain_input_shape(input_shape,
                                  default_size=224,
                                  min_size=48,
                                  data_format=K.image_data_format(),
                                  require_flatten=include_top)`
请帮忙?
提前感谢。

发生此问题是因为keras的版本


在我的例子中,我将keras 2.2.2降级到2.2.0,问题就解决了。

我找到了一种效果很好的方法。您只需使用

from keras_applications.imagenet_utils import _obtain_input_shape 

注意:它是
keras\u应用程序
而不是
keras。应用程序
您不必降级keras 2.2.2。

Keras 2.2.2
中,
Keras.applications.imagenet\u utils
模块中没有
\u获取\u输入\u形状
方法。您可以在模块名为Keras\u应用程序(下划线)下找到它

因此,您不必将Keras降级到2.2.0,只需更改:

from keras.applications.imagenet_utils import _obtain_input_shape

对于keras 2.2.4: 如下图所示更改线路以使其正常工作

from keras_applications.imagenet_utils import _obtain_input_shape

注意:它是从keras\u应用程序导入的,而不是像以前那样从keras.applications导入。

keras\u applications.imagenet\u utils不推荐使用

回溯(最近一次呼叫最后一次): 文件“inception_v3.py”,第36行,在
从keras_applications.imagenet_utils import获取输入形状
ModuleNotFoundError:Colab中没有名为'keras_application

的模块,我通过导入
keras
并安装:

import keras
!pip install keras_applications
from keras_applications.imagenet_utils import _obtain_input_shape

也许有更好的方法来做你正在尝试的事情。你想用
\u获取\u输入\u形状
做什么?嗨@DanielMöller,我已经编辑了我的问题以包含更多信息。你知道keras没有VGG面,对吗?你应该在创建模型时选择输入形状。如果你想要默认输入形状,只需通过
(224,3)
。感谢您的回复Daniel,是的,我知道。我想加载VGG face预先训练的权重。我会尝试您的建议并让您知道。有人知道如何为tensorflow.keras导入此项吗?您如何将kerns 2.2.2升级到低于2.2.2的版本使用“pip安装keras==2.2.0”@W.Sam您不必降级keras,请参阅下面的答案。这应该被视为正确答案@TshilidziMudau@Geeocode你知道如何通过tensorflow.keras导入吗?@Austin请给我一个更具体的问题来回答。@Geeocode我可以从tensorflow 1.12导入获取输入形状吗?我有keras 2.2.4,在建议的更改之后,我也看到了同样的问题。有什么帮助吗,please.from keras\u applications.imagenet\u utils导入\u获取\u输入\u形状
import keras
!pip install keras_applications
from keras_applications.imagenet_utils import _obtain_input_shape