Keras 导入错误:无法导入名称'_获取"输入"形状';

Keras 导入错误:无法导入名称'_获取"输入"形状';,keras,anaconda,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

当我跑的时候

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')

我犯了这个错误

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

我遵循keras_VGFace中的安装步骤。这是我的包裹清单

# 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 
#环境中的包位于/Users/lzq/anaconda3/envs/py36_faceRec:
#
#名称版本生成通道
漂白剂1.5.0
ca证书2018.03.07 0
certifi 2018.10.15 py36_0
第34 1.1.6条
h5py 2.8.0
html5lib 0.999999
Keras 2.1.1
keras VGG面0.5
libcxx 4.0.1 hcfea43d_1
libcxxabi 4.0.1 hcfea43d_1
libedit 3.1.20170329 hb402a30_2
libffi 3.2.1 h475c297_4
降价3.0.1
课程6.1 h0a44026\U 0
numpy 1.15.4
openssl 1.1.1 h1de35cc_0
枕头5.3.0
pip 18.1 py36_0
protobuf 3.6.1
python 3.6.7 HAF8460_0
Pyaml 3.13
readline 7.0 h1de35cc_5
scipy 1.1.0
setuptools 40.5.0 py36_0
六个1.11.0
sqlite 3.25.2 ha441bb4_0
tensorflow 1.4.0
tensorflow张力板0.4.0
tk 8.6.8 ha441bb4_0
Werkzeug 0.14.1
车轮0.32.2 py36_0
xz 5.2.4 h1de35cc_4
zlib 1.2.11 hf3cbc9b_2

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

来自keras.applications.imagenet\u utils导入\u获取\u输入\u形状

来自keras\u applications.imagenet\u utils import\u获取\u输入\u形状


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

您做了哪些研究?用一个例子来说明你已经采取了哪些步骤来解决这个问题。例如,如何不是重复问题?它不是重复问题。我没有运行“from keras.applications.imagenet_utils import _获取_输入_shape”,我只是尝试研究包并在我提供的链接中运行一些简单的代码。您需要证明该链接中的所有建议不适用于此处。您正在尝试使用什么版本?您是否证明了您所认为的版本正在使用的断言?在相关链接中有很多信息,你有责任告诉我们这些信息是如何应用的。事实上,
\u获取\u输入\u形状
不存在于此依赖项的版本中,这是导入依赖项所必需的。找出原因。我修改了我的问题。希望它现在有意义。和我想的答案一样…好的。看来我必须这么做。