                                "snapshot_interval": snapshot_interval}
  
          self.set_gradient_type(memory_saving_gradients)
          if self.multiple_models_in_folder:
              deprecation_warning("Support for multiple model types within the same folder",
                                  additional_info="Please split each model into separate folders to "
                                                  "avoid issues in future.")
  
 
</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'." </s> remove         argument_list.append({"opts": ("-pp", "--ping-pong"),
                              "action": "store_true",
                              "dest": "pingpong",
                              "default": False,
                              "help": "Enable ping pong training. Trains one side at a time, "
                                      "switching sides at each save iteration. Training will take "
                                      "2 to 4 times longer, with about a 30%%-50%% reduction in "
                                      "VRAM useage. NB: Preview won't show until both sides have "
                                      "been trained once."})
 </s> add  </s> remove         return Adam(**opt_kwargs)
 </s> add         return Adam(**opt_kwargs, cpu_mode=self.optimizer_savings)
        self.optimizer_savings = optimizer_savings
                                "snapshot_interval": snapshot_interval}
  
        self.optimizer_savings = optimizer_savings
          self.set_gradient_type(memory_saving_gradients)
          if self.multiple_models_in_folder:
              deprecation_warning("Support for multiple model types within the same folder",
                                  additional_info="Please split each model into separate folders to "
                                                  "avoid issues in future.")
  
keep add keep keep 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