背景:项目中需要计算同一句子和库中所有句子的相似性,需要事先将库中所有句子的特征抽取出来,而这个特征对应到深度学习模型的中间层
从keras中取出中间层
方法:1)查看模型结构

pip install pydot
conda install graphviz 安装。然后在程序中使用:

或者使用 print(model.summary())
从keras中取出中间层
2)取中间层
名字取 model_penultimate= Model(inputs=model.input,
output=model.get_layer(‘sequential’).output
)
层数索引取 model_penultimate= Model(inputs=model.input,
model.layers[-2].output )
遇到的问题:
取-2层,
Graph disconnected: cannot obtain value for tensor Tensor(“embedding_input_46:0”, shape=(?, 20), dtype=float32) at layer “embedding_input”. The following previous layers were accessed without issue: []从keras中取出中间层
查看output从keras中取出中间层

解决办法** :
后来发现shared model结构为下图,并且该结构不包含再再model中。查阅资料,这是个多模型融合的问题。,从GitHub上下载GAN的代码,仔细研读,最后解决了这个问题从keras中取出中间层

相关文章: