Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in AI and Deep Learning by (50.2k points)

My model is defined as such:

model = keras.models.Sequential() 

model.add(layers.Embedding(max_features, 128, input_length=max_len, input_shape=(max_len,), name='embed'))

model.add(layers.Conv1D(32, 7, activation='relu')) model.add(layers.MaxPooling1D(5)) 

model.add(layers.Conv1D(32, 7, activation='relu')) model.add(layers.GlobalMaxPooling1D()) 

model.add(layers.Dense(1))

and when I use the plot_model function to draw it out:

from Keras.utils import plot_model 

plot_model(model, show_shapes=True, to_file='model.png')

The drawing I get is like this

Where the input layer is a series of numbers. Does anybody know how it let it show the input properly?

1 Answer

0 votes
by (108k points)

Your problem is caused by omitting the first layer in Sequential function.

You can solve your problem by plotting the model without using Sequential or remove the following lines in keras/engine/sequential.py

 @property

    def layers(self):

        # previously, `sequential.layers` only returns layers that were added

        # via `add`, and omits the auto-generated `InputLayer`

        # that comes at the bottom of the stack.

        if self._layers and isinstance(self._layers[0], InputLayer):

            return self._layers[1:]

        return self._layers

If you wish to know more about Keras then visit this Python Course.

Browse Categories

...