tf.contrib.gan.infogan_model

tf.contrib.gan.infogan_model(
    generator_fn,
    discriminator_fn,
    real_data,
    unstructured_generator_inputs,
    structured_generator_inputs,
    generator_scope='Generator',
    discriminator_scope='Discriminator'
)

Defined in tensorflow/contrib/gan/python/train.py.

Returns an InfoGAN model outputs and variables.

See https://arxiv.org/abs/1606.03657 for more details.

Args:

  • generator_fn: A python lambda that takes a list of Tensors as inputs and returns the outputs of the GAN generator.
  • discriminator_fn: A python lambda that takes real_data/generated data and generator_inputs. Outputs a 2-tuple of (logits, distribution_list). logits are in the range [-inf, inf], and distribution_list is a list of Tensorflow distributions representing the predicted noise distribution of the ith structure noise.
  • real_data: A Tensor representing the real data.
  • unstructured_generator_inputs: A list of Tensors to the generator. These tensors represent the unstructured noise or conditioning.
  • structured_generator_inputs: A list of Tensors to the generator. These tensors must have high mutual information with the recognizer.
  • 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.

Returns:

An InfoGANModel namedtuple.

Raises:

  • ValueError: If the generator outputs a Tensor that isn't the same shape as real_data.
  • ValueError: If the discriminator output is malformed.