Keras plot_model没有正确显示输入层

时间:2018-08-07 01:53:51

标签: python tensorflow keras deep-learning artificial-intelligence

我的模型定义如下:

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))

当我使用plot_model函数将其绘制出来时:

from keras.utils import plot_model

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

我得到的图纸是like this

其中输入层是一系列数字。有人知道它如何使其正确显示输入吗?

1 个答案:

答案 0 :(得分:4)

升级Keras后发生在我身上

检查此链接:https://github.com/keras-team/keras/issues/10638

在keras / engine / sequential.py

评论一下:

@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