keras_vggface:没有名为“keras.engine.topology”的模块

ybm*_*bml 1 python keras google-colaboratory keras-vggface

网上有几个从 keras_vggface 导入 VGGFace 模型的教程,如下所示:

from keras_vggface.vggface import VGGFace
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

ModuleNotFoundError: No module named 'keras.engine.topology'
Run Code Online (Sandbox Code Playgroud)

这个问题发生在我的本地机器上,而且在安装后在 Google Colab 上也发生keras_vggface

!pip install keras_vggface
Run Code Online (Sandbox Code Playgroud)

小智 8

我在 Google Colab 中通过更改导入解决了这个问题

from keras.engine.topology import get_source_inputs
Run Code Online (Sandbox Code Playgroud)

from keras.utils.layer_utils import get_source_inputs
Run Code Online (Sandbox Code Playgroud)

usr/local/lib/python3.7/dist-packages/keras_vggface/models.py


ale*_*kov 6

! pip install git+https://github.com/rcmalli/keras-vggface.git
!pip install keras_applications --no-deps
filename = "/usr/local/lib/python3.7/dist-packages/keras_vggface/models.py"
text = open(filename).read()
open(filename, "w+").write(text.replace('keras.engine.topology', 'tensorflow.keras.utils'))
import tensorflow as tf

from keras_vggface.vggface import VGGFace

vggface = VGGFace(model='resnet50') # or VGGFace() as default
Run Code Online (Sandbox Code Playgroud)

为我和 colab 工作