1

这个问题类似于https://datascience.stackexchange.com/questions/19362/how-to-obtain-output-of-intermediate-model-in-keras

我正在使用功能 API 创建一个神经架构,如下所示:

input1 = Input(shape=(50, embed_dim))

dense_layer = Dense(embed_dim, activation='tanh')(input1)
softmax_layer = Activation('softmax', name='attention')(dense_layer)

attention_mul = multiply([softmax_layer,input1])
vec_sum = Lambda(lambda x: K.sum(x, axis=1))(attention_mul)

# Nested (Intermediate Model)
pre_model1 = Model(input1, vec_sum, name='news_attention')

input2 = Input(shape=(1, 50, embed_dim))
pre_cnn = TimeDistributed(pre_model1)(input2)
cnn = Conv1D(filters = 100, 
          kernel_size = 3, 
          padding = 'same',
          activation = 'relu')(pre_cnn)
flatten = Flatten()(cnn)
dropout = Dropout(0.5)(flatten)
final = Dense(hidden_dims, activation="relu")(dropout)

model = Model(input2, final)

现在我想访问“softmax_layer”的输出,它是嵌套模型pre_model1中的一个层。我试图遵循datascience stackexchange中的解决方案。但是,我无法像它所说的那样在模型摘要中获得嵌套模型对象( pre_model1 )。

模型.summary()

模型架构

如何获得由 TimeDistributedLayer 包装的嵌套模型对象?

谢谢你。

4

0 回答 0