是否可以将元节点放入模型并对其进行训练,而该模型未连接到输出?这样我以后可以通过model.layers访问该层吗?
我成功地将两个模型与keras功能API结合在一起。 因此,我使用一个预先训练的模型作为特征提取器,并使用示例层x和y作为第二个模型的特征和输入。
我无法正常工作的内容如下: 另外,我不是将z层用作模型2中的提取信息,我想使Tensor在模型中可用。
我可以将其作为模型2的附加输入,并将相同的张量定义为输出。这产生了几个问题:
我必须为每个输出定义一个损失函数。损失权重可以设置为0。
我需要为.fit()或.fitGenerator()的每个输出提供Trainingdata。我不想破解任何代码只是为了提供空的培训数据或其他内容。
def combine_models():
## Model one will be usually be loaded with load_model()
in1 = Input()
x = Conv2D()(in1 )
y = Conv2D()(x)
z = Conv2d()(y)
model1 = Model(inputs=in1, outputs=z)
##model 2 uses part of own and model1 input
in2 = Input()
inX = Input() # with shape of x
inY = Input() # with shape o y
inZ = Input() # I know i have to declare z as Input for being available in model 2
conc = Concatenate()([in2,inX,inY])#just for example
conv= Conv2D()(conc)
model2 = Model(inputs=in2, outputs=conv)