Keras plot_model不能正确显示输入层

8

我的模型定义如下:

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个回答

5

在我升级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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接