我的模型定义如下:
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_modelplot_model(model, show_shapes=True, to_file='model.png')
得到的图像是
其中输入层显示为一系列数字。有人知道如何让它正确显示输入层吗?
回答:
在我升级Keras后出现了这个问题
查看这个链接: https://github.com/keras-team/keras/issues/10638
在keras/engine/sequential.py中
注释掉以下代码:
@propertydef 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