ImportError:无法导入名称“ _obtain_input_shape”

时间:2018-11-13 15:53:07

标签: keras anaconda

我跑步时

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”

在安装keras_vggface时遵循instructions。这是我的包裹的清单信息。

# 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 

1 个答案:

答案 0 :(得分:1)

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

from keras.applications.imagenet_utils import _obtain_input_shape

from keras_applications.imagenet_utils import _obtain_input_shape

或者,如果发现更简单,也可以将Keras降级到2.2.0