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
)
Defined in tensorflow/contrib/gan/python/train.py
.
Returns an ACGANModel contains all the pieces needed for ACGAN training.
The 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
classification.
See https://arxiv.org/abs/1610.09585 for more details.
Args:
generator_fn
: A python lambda that takesgenerator_inputs
as inputs and returns the outputs of the GAN generator.discriminator_fn
: A python lambda that takesreal_data
/generated data
andgenerator_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.check_shapes
: IfTrue
, check that generator produces Tensors that are the same shape as real data. Otherwise, skip this check.
Returns:
A ACGANModel namedtuple.
Raises:
ValueError
: If the generator outputs a Tensor that isn't the same shape asreal_data
.TypeError
: If the discriminator does not output a tuple consisting of (discrimination logits, classification logits).