          self._config = config
          self._side = side
          self._images = images
          self._batch_size = batch_size
          self._process_size = max([model.input_shape[1]] + [img[1]
                                   for img in model.output_shapes[0]])
          self._output_sizes = [shape[0] for shape in model.output_shapes[0] if shape[-1] != 1]
          self._coverage_ratio = model.coverage_ratio
          self._color_order = model.color_order.lower()
          self._use_mask = self._config["mask_type"] and (self._config["penalized_mask_loss"] or
                                                          self._config["learn_mask"])
 
</s> remove         self._model_input_size = model.input_shape[1]
 </s> add         self._model_input_size = max(img[1] for img in model.model.input_shape) </s> remove         time_col = decimal_places + 4
 </s> add         time_col = (decimal_places + 4) * sum(1 for v in self._display.values() if v)
        separator = "-" * (name_col + items_col + time_col) </s> remove         print("-" * (name_col + items_col + (3 * time_col)))
        print(f"{self._format_column('Step', name_col)}{self._format_column('Count', items_col)}"
              f"{self._format_column('Min', time_col)}{self._format_column('Avg', time_col)}"
              f"{self._format_column('Max', time_col)}")
        print("-" * (name_col + items_col + (3 * time_col)))
 </s> add         print(separator)
        header = (f"{self._format_column('Step', name_col)}"
                  f"{self._format_column('Count', items_col)}")
        header += f"{self._format_column('Min', time_col)}" if self._display["min"] else ""
        header += f"{self._format_column('Avg', time_col)}" if self._display["mean"] else ""
        header += f"{self._format_column('Max', time_col)}" if self._display["max"] else ""
        print(header)
        print(separator) </s> remove             _min = f"{np.min(val):.{decimal_places}f}"
            avg = f"{np.mean(val):.{decimal_places}f}"
            _max = f"{np.max(val):.{decimal_places}f}"
 </s> add 
        self._process_size = max(img[1]
                                 for img in model.model.input_shape + model.model.output_shape)
          self._config = config
          self._side = side
          self._images = images
          self._batch_size = batch_size
        self._process_size = max(img[1]
                                 for img in model.model.input_shape + model.model.output_shape)
        self._process_size = max(img[1]
                                 for img in model.model.input_shape + model.model.output_shape)
          self._output_sizes = [shape[0] for shape in model.output_shapes[0] if shape[-1] != 1]
          self._coverage_ratio = model.coverage_ratio
          self._color_order = model.color_order.lower()
          self._use_mask = self._config["mask_type"] and (self._config["penalized_mask_loss"] or
                                                          self._config["learn_mask"])
keep keep keep keep replace replace keep keep keep keep keep
 bugfixes:
  - lib.training: Correct  input + output size for pre-existing models
  - lib.align.detected_faces - fix trace logging
  - lib.util.debug_times 
lib/training/generator.py