23

I want to import keras.engine.topology in Tensorflow. I used to add the word tensorflow at the beginning of every Keras import if I want to use the Tensorflow version of Keras.

For example: instead of writing:

from keras.layers import Dense, Dropout, Input

I just write the following code and it works fine :

from tensorflow.keras.layers import Dense, Dropout, Input

But that's not the case for this specific import:

from tensorflow.keras.engine.topology import Layer, InputSpec

And I m getting the following error message:

No module named 'tensorflow.keras.engine'
nairouz mrabah
  • 1,077
  • 2
  • 12
  • 26

3 Answers3

45

You can import Layer and InputSpec from TensorFlow as follows:

from tensorflow.python.keras.layers import Layer, InputSpec

UPDATE: 30/10/2019

from tensorflow.keras.layers import Layer, InputSpec
rvinas
  • 11,464
  • 34
  • 55
3

In the keras_vggface/models.py file, change the import from:

from keras.engine.topology import get_source_inputs

to:

from keras.utils.layer_utils import get_source_inputs
Paul Benn
  • 1,696
  • 10
  • 26
2

In order to import keras.engine you may try using:

import tensorflow.python.keras.engine

Note: But from tensorflow.python.keras.engine you cannot import topology