如何使用tf.train训练使用tf.Keras模型创建的模型?

时间:2018-10-11 14:39:18

标签: python tensorflow machine-learning keras deep-learning

我正在使用Tensorflow创建GAN。我决定使用Keras来使Generator和Discriminator变得复杂(因为在Keras中定义层更加容易)。我在Tensorflow中有GAN的丢失和训练代码,但我不知道如何使用该代码训练Keras模型。

D_loss_real = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=D_logit_real, labels=tf.ones_like(D_logit_real)))
D_loss_fake = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=D_logit_fake, labels=tf.zeros_like(D_logit_fake)))
D_loss = D_loss_real + D_loss_fake
G_loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=D_logit_fake, labels=tf.ones_like(D_logit_fake)))

D_solver = tf.train.AdamOptimizer().minimize(D_loss,var_list = ?)
G_solver = tf.train.AdamOptimizer().minimize(G_loss,var_list = ?)

我在var_list中传递了tf.Variables(与tf一起在GAN中使用)。但是,我不知道如何最小化keras模型,因为keras自己负责权重。
我不能使用Keras的编译和拟合函数,因为在训练过程中Generator和Discriminator过于相互依赖。

我如何如上所述亏损训练我的角膜?

1 个答案:

答案 0 :(得分:0)

This article will help.基本上,您只需要将Keras会话设置为与Tensorflow相同。