          logger.info("Using Memory Saving Gradients")
          from lib.model import memory_saving_gradients
          K.__dict__["gradients"] = memory_saving_gradients.gradients_memory
  
      def set_training_data(self):
          """ Override to set model specific training data.
  
              super() this method for defaults otherwise be sure to add """
 
</s> remove     network:      Define network to this.
 </s> add     network:    Define network to this.
    is_output:  Set to True to indicate that this network is an output to the Autoencoder </s> remove     @staticmethod
    def update_kwargs(kwargs):
        """ Set the default kernel initializer to he_uniform() """
        kwargs["kernel_initializer"] = kwargs.get("kernel_initializer", he_uniform())
 </s> add     def update_kwargs(self, kwargs):
        """ Update Kwargs for conv2D and Seperable conv2D layers.
            Set the default kernel initializer to conv_aware or he_uniform()
            if a specific initializer has not been passed in """
        if self.use_convaware_init:
            default = ConvolutionAware()
            if self.first_run:
                # Indicate the Convolutional Aware should be calculated on first run
                default._init = True  # pylint:disable=protected-access
        else:
            default = he_uniform()
        kwargs["kernel_initializer"] = kwargs.get("kernel_initializer", default)
        logger.debug("Set default kernel_initializer to: %s", kwargs["kernel_initializer"]) </s> remove     def __init__(self, filename, network_type, side, network):
 </s> add     def __init__(self, filename, network_type, side, network, is_output): </s> remove from keras.initializers import he_uniform, Constant, VarianceScaling
from .initializers import ICNR
 </s> add from keras.initializers import he_uniform, VarianceScaling
from .initializers import ICNR, ConvolutionAware </s> remove         self.blocks = NNBlocks(use_subpixel=self.config["subpixel_upscaling"],
                               use_icnr_init=self.config["icnr_init"],
                               use_reflect_padding=self.config["reflect_padding"])
 </s> add 
    def load_config(self):
        """ Load the global config for reference in self.config """
        global _CONFIG  # pylint: disable=global-statement
        if not _CONFIG:
            model_name = self.config_section
            logger.debug("Loading config for: %s", model_name)
            _CONFIG = Config(model_name, configfile=self.configfile).config_dict

          logger.info("Using Memory Saving Gradients")
          from lib.model import memory_saving_gradients
          K.__dict__["gradients"] = memory_saving_gradients.gradients_memory
  
    def load_config(self):
        """ Load the global config for reference in self.config """
        global _CONFIG  # pylint: disable=global-statement
        if not _CONFIG:
            model_name = self.config_section
            logger.debug("Loading config for: %s", model_name)
            _CONFIG = Config(model_name, configfile=self.configfile).config_dict

      def set_training_data(self):
          """ Override to set model specific training data.
  
              super() this method for defaults otherwise be sure to add """
keep keep keep add keep keep keep keep
 Add Convolutional Aware Initialization (#795)

* Training: Add Convolutional Aware Initialization config option

* Centralize Conv2D layer for handling initializer

* Add 'is-output' to NNMeta to indicate that network is an output to the Model 
plugins/train/model/_base.py