2017-06-02 76 views
0

我想用tensorflow建立一個條件GAN並使用輸入管線來加載我的數據集。問題在於,在每次迭代中,我都希望使用相同的數據批次來訓練生成模型和區分模型,但是由於訓練操作員在不同運行中獲取,他們將收到不同批次的數據。有沒有解決方案,或者我應該使用feed_dict?使用tensorflow輸入管線和GAN

+0

您可以嘗試將G和D的輸出放在一個運行中,以便對它們的輸入相同嗎?使用feed_dict是一個選項,但由於數據複製可能會減慢速度。 – hars

回答

0

使用相同數據的一種方法是在發生器和鑑別器訓練操作系統上使用tf.group,以便共同訓練它們,並在優化器上設置use_locking=True以防止病態競賽條件。請注意,由於TensorFlow運行時不能保證發生器或鑑別器將始終被首先訓練,因此仍然會存在一些隨機性。

這個想法已經在TensorFlow的TFGAN庫中實現,雖然它使用鉤子而不是分組訓練操作(「聯合」是指鑑別器和發生器是聯合訓練而不是順序訓練的)。

相關問題