如果Keras Tensorflow的“ Model.fit”的目标/输出为“无”,会发生什么?

时间:2019-08-27 22:09:16

标签: python tensorflow keras autoencoder

我正在查看以下代码:https://github.com/keras-team/keras/blob/master/examples/variational_autoencoder.py#L198,其中Model.fit()的调用没有输出或目标Tensor。起初,我认为Model.fit()的行为是将输入用作输出(这对于此自动编码器实现是有意义的)。但是后来我查看了文档,但事实并非如此:https://www.tensorflow.org/api_docs/python/tf/keras/Model#fit

这意味着目标yNone时,x应该是既包含输入又包含目标的某种结构。

但是在此自动编码器实现中很明显,事实并非如此(x仅包含输入)。有人可以解释在这种情况下会发生什么吗?

1 个答案:

答案 0 :(得分:2)

model.fit的Keras文档中说明了以下内容:

  
      y:目标(标签)数据的Numpy数组(如果模型具有单个输出),或者Numpy数组的列表(如果模型具有多个输出)。   如果模型中的输出层已命名,则还可以传递一个   字典将输出名称映射到Numpy数组。 y可以为无   (预设),如果是从框架原生张量(例如TensorFlow   数据张量)。   

现在,请注意,在可变自动编码器示例中,模型vae的参数outputs是TensorFlow本机张量,因为它是由另一个模型decoder的输出给定的( TensorFlow本机张量),其inputs参数与vae的输入无关