2017-06-02 80 views
0

我想用tensorflow建立一个条件GAN并使用输入管线来加载我的数据集。问题在于,在每次迭代中,我都希望使用相同的数据批次来训练生成模型和区分模型,但是由于训练操作员在不同运行中获取,他们将收到不同批次的数据。有没有解决方案,或者我应该使用feed_dict?使用tensorflow输入管线和GAN

+0

您可以尝试将G和D的输出放在一个运行中,以便对它们的输入相同吗?使用feed_dict是一个选项,但由于数据复制可能会减慢速度。 – hars

回答

0

使用相同数据的一种方法是在发生器和鉴别器训练操作系统上使用tf.group,以便共同训练它们,并在优化器上设置use_locking=True以防止病态竞赛条件。请注意,由于TensorFlow运行时不能保证发生器或鉴别器将始终被首先训练,因此仍然会存在一些随机性。

这个想法已经在TensorFlow的TFGAN库中实现,虽然它使用钩子而不是分组训练操作(“联合”是指鉴别器和发生器是联合训练而不是顺序训练的)。

相关问题