Returns an ACGANModel contains all the pieces needed for ACGAN training.
tf.contrib.gan.acgan_model( generator_fn, discriminator_fn, real_data, generator_inputs, one_hot_labels, generator_scope='Generator', discriminator_scope='Discriminator', check_shapes=True )
acgan_model is the same as the
gan_model with the only difference
being that the discriminator additionally outputs logits to classify the input
(real or generated).
Therefore, an explicit field holding one_hot_labels is necessary, as well as a
discriminator_fn that outputs a 2-tuple holding the logits for real/fake and
See https://arxiv.org/abs/1610.09585 for more details.
generator_fn: A python lambda that takes
generator_inputsas inputs and returns the outputs of the GAN generator.
discriminator_fn: A python lambda that takes
generator_inputs. Outputs a tuple consisting of two Tensors: (1) real/fake logits in the range -inf, inf classification logits in the range [-inf, inf]
real_data: A Tensor representing the real data.
generator_inputs: A Tensor or list of Tensors to the generator. In the vanilla GAN case, this might be a single noise Tensor. In the conditional GAN case, this might be the generator's conditioning.
one_hot_labels: A Tensor holding one-hot-labels for the batch. Needed by acgan_loss.
generator_scope: Optional generator variable scope. Useful if you want to reuse a subgraph that has already been created.
discriminator_scope: Optional discriminator variable scope. Useful if you want to reuse a subgraph that has already been created.
True, check that generator produces Tensors that are the same shape as real data. Otherwise, skip this check.
A ACGANModel namedtuple.
ValueError: If the generator outputs a Tensor that isn't the same shape as
TypeError: If the discriminator does not output a tuple consisting of (discrimination logits, classification logits).