          choices=["subpixel", "resize_images", "upscale_fast", "upscale_hybrid", "upscale_dny"],
          gui_radio=True,
          group="decoder",
          fixed=True),
      dec_norm=dict(
          default="none",
          info="Normalization to apply to apply after each upscale."
               "\n\tnone - Do not apply a normalization layer"
 
</s> remove         # Scale g_block filters to side dense
        g_filts = K.int_shape(var_x)[-1]
        var_x = Conv2D(g_filts, 3, strides=1, padding="same")(var_x)
        var_x = GaussianNoise(1.0)(var_x)
        var_x = self._g_block(var_x, style, g_filts)
        return KerasModel(self._inputs, var_x, name=f"g_block_{self._side}")
 </s> add class UpscaleBlocks():  # pylint: disable=too-few-public-methods
    """ Obtain a block of upscalers. </s> remove         upscaler = _get_upscale_layer(self._config["dec_upscale_method"].lower(), filters)
 </s> add         upscaler = _get_upscale_layer(self._config["dec_upscale_method"].lower(),
                                      filters,
                                      activation="leakyrelu",
                                      upsamples=2,
                                      interpolation="bilinear") </s> remove         Returns
        -------
        :class:`keras.models.Model`
            The G-Block model
        """
        var_x, style = self._inputs
        for i in range(self._dense_recursions):
            style = Dense(self._dense_nodes, kernel_initializer="he_normal")(style)
            if i != self._dense_recursions - 1:  # Don't add leakyReLu to final output
                style = LeakyReLU(0.1)(style)
 </s> add 
    dec_upscales_in_fc=dict(
        default=0,
        min_max=(0, 6),
        rounding=1,
        info="It is possible to place some of the upscales at the end of the fully connected "
        "model. For models with split decoders, but a shared fully connected layer, this would "
        "have the effect of saving some VRAM but possibly at the cost of introducing artefacts. "
        "For models with a shared decoder but split fully connected layers, this would have the "
        "effect of increasing VRAM usage by processing some of the upscales for each side rather "
        "than together.",
        datatype=int,
        group="decoder",
        fixed=True),
          choices=["subpixel", "resize_images", "upscale_fast", "upscale_hybrid", "upscale_dny"],
          gui_radio=True,
          group="decoder",
          fixed=True),
    dec_upscales_in_fc=dict(
        default=0,
        min_max=(0, 6),
        rounding=1,
        info="It is possible to place some of the upscales at the end of the fully connected "
        "model. For models with split decoders, but a shared fully connected layer, this would "
        "have the effect of saving some VRAM but possibly at the cost of introducing artefacts. "
        "For models with a shared decoder but split fully connected layers, this would have the "
        "effect of increasing VRAM usage by processing some of the upscales for each side rather "
        "than together.",
        datatype=int,
        group="decoder",
        fixed=True),
      dec_norm=dict(
          default="none",
          info="Normalization to apply to apply after each upscale."
               "\n\tnone - Do not apply a normalization layer"
keep keep keep add keep keep keep keep
 Train updates
  - Output full model summary last
  - Fix activations in Phaze-A upscales
  - Phaze-A Add option to place some upscales in fc model 
plugins/train/model/phaze_a_defaults.py