简体   繁体   English

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

[英]How to train model created with tf.Keras model using tf.train?

I am creating a GAN using Tensorflow. 我正在使用Tensorflow创建GAN。 I decided to make Generator and Discriminator using Keras as layers became complex (since defining layers in Keras is easier). 我决定使用Keras来使Generator和Discriminator变得复杂(因为在Keras中定义层更加容易)。 I have loss and training code for GAN in Tensorflow but I don't know how to train Keras model using that. 我在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 = ?)

I was passing tf.Variables (that were used in GAN when making with tf) in var_list. 我正在tf.Variables中传递tf.Variables (在使用tf进行创建时在GAN中使用)。 However, I don't know how to minimize the keras model since keras takes care of weights on its own. 但是,我不知道如何最小化keras模型,因为keras自己负责权重。
I cannot use Keras's compile and fit function because Generator and Discriminator are too interdependent while training. 我不能使用Keras的编译和拟合函数,因为在训练过程中Generator和Discriminator过于相互依赖。

How do I train my keras with loss as shown above? 如上所示,我该如何亏损地训练我的角膜?

This article will help. 本文将有所帮助。 Basically, you just need to set your Keras session same as your Tensorflow. 基本上,您只需要将Keras会话设置为与Tensorflow相同。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM