具有无损失或渐变的元输出节点的Keras模型

时间:2019-08-30 06:37:38

标签: python keras neural-network

是否可以将元节点放入模型并对其进行训练,而该模型未连接到输出?这样我以后可以通过model.layers访问该层吗?

我成功地将两个模型与keras功能API结合在一起。 因此,我使用一个预先训练的模型作为特征提取器,并使用示例层x和y作为第二个模型的特征和输入。

我无法正常工作的内容如下: 另外,我不是将z层用作模型2中的提取信息,我想使Tensor在模型中可用。

我可以将其作为模型2的附加输入,并将相同的张量定义为输出。这产生了几个问题:

  1. 我必须为每个输出定义一个损失函数。损失权重可以设置为0。

  2. 我需要为.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)

0 个答案:

没有答案