          raise NotImplementedError
  
      def _output_summary(self):
          """ Output the summary of the model and all sub-models to the verbose logger. """
          self._model.summary(print_fn=lambda x: logger.verbose("%s", x))
          for layer in self._model.layers:
              if isinstance(layer, KModel):
                  layer.summary(print_fn=lambda x: logger.verbose("%s", x))
  
      def save(self):
 
</s> remove                 layer.summary(print_fn=lambda x: logger.verbose("%s", x))
 </s> add                 layer.summary(print_fn=print_fn) </s> remove         self.trainer_name = self._args.trainer
 </s> add  </s> remove             if not self._is_predict:
 </s> add             if not is_summary and not self._is_predict:
        if hasattr(self._args, "summary") and self._args.summary:
            print_fn = None  # Print straight to stdout
        else:
            print_fn = lambda x: logger.verbose("%s", x)  # print to logger
        self._model.summary(print_fn=print_fn)
          raise NotImplementedError
  
      def _output_summary(self):
          """ Output the summary of the model and all sub-models to the verbose logger. """
        if hasattr(self._args, "summary") and self._args.summary:
            print_fn = None  # Print straight to stdout
        else:
            print_fn = lambda x: logger.verbose("%s", x)  # print to logger
        self._model.summary(print_fn=print_fn)
          for layer in self._model.layers:
              if isinstance(layer, KModel):
                  layer.summary(print_fn=lambda x: logger.verbose("%s", x))
  
      def save(self):
keep keep keep keep replace keep keep keep keep keep
 train - Add option to output model summary and exit 
plugins/train/model/_base.py