我的模型是这样定义的:
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')
我得到的图纸是
其中输入层是一系列数字。有人知道它是如何让它正确显示输入的吗?
最佳答案
升级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
关于python - Keras plot_model 没有正确显示输入层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51717751/