How to import keras.engine.topology in Tensorflow?

Question:

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'
Asked By: nairouz mrabah

||

Answers:

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
Answered By: rvinas

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

Answered By: Rahul kumar

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
Answered By: Marwa Trimech

I solved this issue by changing the import from from keras.engine.topology import get_source_inputs to from keras.utils.layer_utils import get_source_inputs

Answered By: Anisha Desai
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.