【问题标题】:ImportError: cannot import name '_obtain_input_shape' [duplicate]ImportError:无法导入名称'_obtain_input_shape' [重复]
【发布时间】:2019-04-16 12:10:12
【问题描述】:

当我跑步时

from keras_vggface.vggface import VGGFace

# Based on VGG16 architecture -> old paper(2015)
vggface = VGGFace(model='vgg16') # or VGGFace() as default

# Based on RESNET50 architecture -> new paper(2017)
vggface = VGGFace(model='resnet50')

# Based on SENET50 architecture -> new paper(2017)
vggface = VGGFace(model='senet50')

instructions.

我收到了这个错误

ImportError: 无法导入名称 '_obtain_input_shape'

我按照instructions 安装keras_vggface。这是我的包裹的列表信息。

# packages in environment at /Users/lzq/anaconda3/envs/py36_faceRec:
#
# Name                    Version                   Build  Channel
bleach                    1.5.0                     <pip>
ca-certificates           2018.03.07                    0  
certifi                   2018.10.15               py36_0  
enum34                    1.1.6                     <pip>
h5py                      2.8.0                     <pip>
html5lib                  0.9999999                 <pip>
Keras                     2.1.1                     <pip>
keras-vggface             0.5                       <pip>
libcxx                    4.0.1                hcfea43d_1  
libcxxabi                 4.0.1                hcfea43d_1  
libedit                   3.1.20170329         hb402a30_2  
libffi                    3.2.1                h475c297_4  
Markdown                  3.0.1                     <pip>
ncurses                   6.1                  h0a44026_0  
numpy                     1.15.4                    <pip>
openssl                   1.1.1                h1de35cc_0  
Pillow                    5.3.0                     <pip>
pip                       18.1                     py36_0  
protobuf                  3.6.1                     <pip>
python                    3.6.7                haf84260_0  
PyYAML                    3.13                      <pip>
readline                  7.0                  h1de35cc_5  
scipy                     1.1.0                     <pip>
setuptools                40.5.0                   py36_0  
six                       1.11.0                    <pip>
sqlite                    3.25.2               ha441bb4_0  
tensorflow                1.4.0                     <pip>
tensorflow-tensorboard    0.4.0                     <pip>
tk                        8.6.8                ha441bb4_0  
Werkzeug                  0.14.1                    <pip>
wheel                     0.32.2                   py36_0  
xz                        5.2.4                h1de35cc_4  
zlib                      1.2.11               hf3cbc9b_2 

【问题讨论】:

  • 你做了哪些研究?使用edit 在问题中显示您已采取哪些步骤来解决此问题。比如stackoverflow.com/q/49113140/1531971怎么不是重复问题?
  • 不是重复的。我没有运行“from keras.applications.imagenet_utils import _obtain_input_shape”,我只是尝试研究包并在我提供的链接中运行一些简单的代码
  • 您需要证明该链接中的所有建议都不适用于此处。您尝试使用哪些版本?您是否证明了您认为您拥有的版本正在被使用的断言?该相关链接中有很多信息,您有责任告诉我们这些信息如何不适用。事实上,_obtain_input_shape 在您的此依赖项的版本中不存在,这是导入依赖项必需的。找出原因。
  • 我修改了我的问题。希望现在有意义。

标签: keras anaconda


【解决方案1】:

您正在使用的VGGFace 包是为旧版本的 Keras 配置的。最简单的解决方案是编辑vvgface 目录中的keras-vggface/keras_vggface/models.py 文件并将第15 行从:

from keras.applications.imagenet_utils import _obtain_input_shape

from keras_applications.imagenet_utils import _obtain_input_shape

或者,如果您觉得更容易,您也可以将 Keras 降级到 2.2.0

【讨论】:

猜你喜欢
  • 2018-08-13
  • 1970-01-01
  • 2017-06-20
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 2021-12-08
  • 2021-01-01
  • 2019-05-27
相关资源
最近更新 更多