Keras plot_model not showing the input layer appropriately

寵の児 提交于 2019-12-17 20:35:16

问题


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

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


回答1:


It happened to me after upgrading Keras

check this link: https://github.com/keras-team/keras/issues/10638

In keras/engine/sequential.py

Comment this out:

@property
def layers(self):
    # Historically, `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


来源:https://stackoverflow.com/questions/51717751/keras-plot-model-not-showing-the-input-layer-appropriately

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!