将图对象传递给生成器-Keras-TF

时间:2018-07-02 14:55:44

标签: python tensorflow machine-learning keras generative-adversarial-network

我正在尝试构建gan,偶然发现了一个我无法理解的问题: 这些是我的步骤;代码将在结尾

  1. 我创建/加载所有模型:生成器,鉴别器,组合模型
  2. 我将鉴别器设为不可训练
  3. 在每个纪元上,我训练带有真实图像的鉴别器,带有生成图像的鉴别器以及组合模型。

在步骤3b-用生成的图像训练鉴别器时,我需要生成器模型来生成伪造图像以传递给鉴别器。

在这里出现以下错误:

  

张量(“ sequential_1 / img_output / Relu:0”,shape =(?, 256,256,3),dtype = float32)不是该图的元素

我使用

训练模型
real_samples_loss = discriminator.fit_generator(
    image_sampler(...),
    ...other params...
)

我发现问题出在我使用ImageDataGenerator时:在image_sampler python生成器中,该行是这行:

...generate support items...
result.append(generator_model.predict([noise, bw_image])[0])
...generate data to yield

我发现的解决方案是使用

保存图形
tf.get_default_graph()

在训练模型之前,将其传递给支持方法。

但是为什么会这样呢?我没有使用其他图表/会话

0 个答案:

没有答案