                   trainer="original",
                   pingpong=False,
                   memory_saving_gradients=False,
                   predict=False):
          logger.debug("Initializing ModelBase (%s): (model_dir: '%s', gpus: %s, configfile: %s, "
                       "snapshot_interval: %s, no_logs: %s, warp_to_landmarks: %s, augment_color: "
                       "%s, no_flip: %s, training_image_size, %s, alignments_paths: %s, "
 
</s> remove                      "pingpong: %s, memory_saving_gradients: %s, predict: %s)",
 </s> add                      "pingpong: %s, memory_saving_gradients: %s, optimizer_savings: %s, "
                     "predict: %s)", </s> remove                      memory_saving_gradients, predict)
 </s> add                      memory_saving_gradients, optimizer_savings, predict) </s> remove                    "\n3) Try Memory Saving Gradients and/or Ping Pong Training."
 </s> add                    "\n3) Try 'Memory Saving Gradients' and/or 'Optimizer Savings' and/or 'Ping "
                   "Pong Training'."
                 optimizer_savings="none",
                   trainer="original",
                   pingpong=False,
                   memory_saving_gradients=False,
                 optimizer_savings="none",
                   predict=False):
          logger.debug("Initializing ModelBase (%s): (model_dir: '%s', gpus: %s, configfile: %s, "
                       "snapshot_interval: %s, no_logs: %s, warp_to_landmarks: %s, augment_color: "
                       "%s, no_flip: %s, training_image_size, %s, alignments_paths: %s, "
keep keep add keep keep keep keep
 Training improvements

Add Optimizer Savings option to offload some optimizer calculations to the CPU
Add output_shape to NNMeta class for referencing when building models 
plugins/train/model/_base.py