                                "default": False,
                                "help": "Disables TensorBoard logging. NB: Disabling logs means "
                                        "that you will not be able to use the graph or analysis "
                                        "for this session in the GUI."})
          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."})
          argument_list.append({"opts": ("-msg", "--memory-saving-gradients"),
                                "action": "store_true",
                                "dest": "memory_saving_gradients",
                                "default": False,
                                "help": "Trades off VRAM useage against computation time. Can fit "
 
</s> remove                               "help": "Trades off VRAM useage against computation time. Can fit "
 </s> add                               "help": "Trades off VRAM usage against computation time. Can fit " </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         return Adam(**opt_kwargs)
 </s> add         return Adam(**opt_kwargs, cpu_mode=self.optimizer_savings)
                                "default": False,
                                "help": "Disables TensorBoard logging. NB: Disabling logs means "
                                        "that you will not be able to use the graph or analysis "
                                        "for this session in the GUI."})









          argument_list.append({"opts": ("-msg", "--memory-saving-gradients"),
                                "action": "store_true",
                                "dest": "memory_saving_gradients",
                                "default": False,
                                "help": "Trades off VRAM useage against computation time. Can fit "
keep keep keep keep replace replace replace replace replace replace replace replace replace 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 
lib/cli.py