MultiScaleDiscriminator¶
Inheritance Diagram

-
class
ashpy.models.convolutional.discriminators.MultiScaleDiscriminator(input_res, min_res, kernel_size, initial_filters, filters_cap, use_dropout=True, dropout_prob=0.3, non_linearity=<class 'tensorflow.python.keras.layers.advanced_activations.LeakyReLU'>, normalization_layer=<class 'ashpy.layers.instance_normalization.InstanceNormalization'>, use_attention=False, n_discriminators=1)[source]¶ Bases:
tensorflow.python.keras.engine.training.ModelMulti-Scale discriminator.
This discriminator architecture is composed by multiple discriminators working at different scales. Each discriminator is a
ashpy.models.convolutional.discriminators.PatchDiscriminator.Examples
x = tf.ones((1, 256, 256, 3)) # instantiate the PathDiscriminator multiScaleDiscriminator = MultiScaleDiscriminator(input_res=256, min_res=16, kernel_size=5, initial_filters=64, filters_cap=512, n_discriminators=3 ) # evaluate passing x outputs = multiScaleDiscriminator(x) # the output shape is # the same as the input shape print(len(outputs)) for output in outputs: print(output.shape)
3 (1, 12, 12, 1) (1, 12, 12, 1) (1, 12, 12, 1)
Methods
__init__(input_res, min_res, kernel_size, …)Multi Scale Discriminator. build_discriminator(input_res)Build a single discriminator using parameters defined in this object. call(inputs[, training, return_features])Forward pass of the Multi Scale Discriminator. Attributes
activity_regularizerOptional regularizer function for the output of this layer. dtypedynamicinbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras. inputRetrieves the input tensor(s) of a layer. input_maskRetrieves the input mask tensor(s) of a layer. input_shapeRetrieves the input shape(s) of a layer. input_specGets the network’s input specs. layerslossesLosses which are associated with this Layer. metricsReturns the model’s metrics added using compile, add_metric APIs. metrics_namesReturns the model’s display labels for all outputs. nameReturns the name of this module as passed or determined in the ctor. name_scopeReturns a tf.name_scope instance for this class. non_trainable_variablesnon_trainable_weightsoutbound_nodesDeprecated, do NOT use! Only for compatibility with external Keras. outputRetrieves the output tensor(s) of a layer. output_maskRetrieves the output mask tensor(s) of a layer. output_shapeRetrieves the output shape(s) of a layer. run_eagerlySettable attribute indicating whether the model should run eagerly. sample_weightsstate_updatesReturns the updates from all layers that are stateful. statefulsubmodulesSequence of all sub-modules. trainabletrainable_variablesSequence of variables owned by this module and it’s submodules. trainable_weightsupdatesvariablesReturns the list of all layer variables/weights. weightsReturns the list of all layer variables/weights. -
__init__(input_res, min_res, kernel_size, initial_filters, filters_cap, use_dropout=True, dropout_prob=0.3, non_linearity=<class 'tensorflow.python.keras.layers.advanced_activations.LeakyReLU'>, normalization_layer=<class 'ashpy.layers.instance_normalization.InstanceNormalization'>, use_attention=False, n_discriminators=1)[source]¶ Multi Scale Discriminator.
Different generator for different scales of the input image.
Used by Pix2PixHD [1] .
Parameters: - input_res (int) – input resolution
- min_res (int) – minimum resolution reached by the discriminators
- kernel_size (int) – kernel size of discriminators
- initial_filters (int) – number of initial filters in the first layer of the discriminators
- filters_cap (int) – maximum number of filters in the discriminators
- use_dropout (bool) – whether to use dropout
- dropout_prob (float) – probability of dropout
- non_linearity (
tf.keras.layers.Layer) – non linearity used in discriminators - normalization_layer (
tf.keras.layers.Layer) – normalization used by the discriminators - use_attention (bool) – whether to use attention
- n_discriminators (int) – Number of discriminators
[1] High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs https://arxiv.org/abs/1711.11585
-
build_discriminator(input_res)[source]¶ Build a single discriminator using parameters defined in this object.
Parameters: input_res – input resolution of the discriminator. Return type: EncoderReturns: A Discriminator (PatchDiscriminator).
-