我将Keras CNN模型M分成两部分:特征提取器E(X)和预测器P(Y)。 Extractor根据图像计算要素图,预测器根据这些要素图进行预测。这基本上是通过最后一个转换层分割网络。
现在,我需要添加一些操作在E 之后,在P 之前:E' = f(E(X))
,P'=P(g(Y))
。
到目前为止,我一直在使用K.function()
将模型拆分为两个函数。
E = K.function(M.inputs, [M.get_layer('last_conv').output])
P = K.function([M.get_layer('following_layer').input], M.outputs)
如何构造计算f(E(X))和P(g(Y))的函数?
另一个问题:我可以使用Model类吗? f(E(X))似乎很容易,但P(g(Y))怎么样?问题相当于将一些图层插入到预训练模型中,然后将其拆分为两个函数。