如何在Tensorflow中导入keras.engine.topology?

nai*_*bah 6 python keras tensorflow

我想在Tensorflow中导入keras.engine.topology。如果我想使用Keras的Tensorflow版本,我曾经在每个Keras导入的开头添加tensorflow一词。

例如:而不是写:

from keras.layers import Dense, Dropout, Input
Run Code Online (Sandbox Code Playgroud)

我只是编写以下代码,它可以正常工作:

from tensorflow.keras.layers import Dense, Dropout, Input
Run Code Online (Sandbox Code Playgroud)

但这不是这种特定导入的情况:

from tensorflow.keras.engine.topology import Layer, InputSpec
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

No module named 'tensorflow.keras.engine'
Run Code Online (Sandbox Code Playgroud)

rvi*_*nas 11

您可以按如下所示从TensorFlow 导入Layer和导入InputSpec

from tensorflow.python.keras.layers import Layer, InputSpec
Run Code Online (Sandbox Code Playgroud)

更新: 30/10/2019

from tensorflow.keras.layers import Layer, InputSpec
Run Code Online (Sandbox Code Playgroud)


小智 7

keras_vggface/models.py文件中,更改导入:

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)