                                "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,
                                "backend": "nvidia",
                                "help": "Trades off VRAM usage against computation time. Can fit "
                                        "larger models into memory at a cost of slower training "
                                        "speed. 50%%-150%% batch size increase for 20%%-50%% longer "
                                        "training time. NB: Launch time will be significantly "
                                        "delayed. Switching sides using ping-pong training will "
                                        "take longer."})
          argument_list.append({"opts": ("-o", "--optimizer-savings"),
                                "dest": "optimizer_savings",
                                "action": "store_true",
                                "default": False,
                                "backend": "nvidia",
                                "help": "To save VRAM some optimizer gradient calculations can be "
                                        "performed on the CPU rather than the GPU. This allows you "
                                        "to increase batchsize at a training speed/system RAM "
                                        "cost."})
          argument_list.append({"opts": ("-pp", "--ping-pong"),
                                "action": "store_true",
                                "dest": "pingpong",
                                "default": False,
                                "backend": "nvidia",
                                "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": ("-wl", "--warp-to-landmarks"),
                                "action": "store_true",
                                "dest": "warp_to_landmarks",
                                "default": False,
                                "help": "Warps training faces to closely matched Landmarks from the "
 
</s> remove         argument_list.append({"opts": ("-ps", "--preview-scale"),
                              "type": int,
                              "action": Slider,
                              "dest": "preview_scale",
                              "min_max": (25, 200),
                              "group": "training",
                              "rounding": 25,
                              "default": 50,
                              "help": "Percentage amount to scale the preview by."})
 </s> add         argument_list.append({"opts": ("-msg", "--memory-saving-gradients"),
                              "action": "store_true",
                              "dest": "memory_saving_gradients",
                              "group": "VRAM Savings",
                              "default": False,
                              "backend": "nvidia",
                              "help": "Trades off VRAM usage against computation time. Can fit "
                                      "larger models into memory at a cost of slower training "
                                      "speed. 50%%-150%% batch size increase for 20%%-50%% longer "
                                      "training time. NB: Launch time will be significantly "
                                      "delayed. Switching sides using ping-pong training will "
                                      "take longer."})
        argument_list.append({"opts": ("-o", "--optimizer-savings"),
                              "dest": "optimizer_savings",
                              "action": "store_true",
                              "default": False,
                              "group": "VRAM Savings",
                              "backend": "nvidia",
                              "help": "To save VRAM some optimizer gradient calculations can be "
                                      "performed on the CPU rather than the GPU. This allows you "
                                      "to increase batchsize at a training speed/system RAM "
                                      "cost."})
        argument_list.append({"opts": ("-pp", "--ping-pong"),
                              "action": "store_true",
                              "dest": "pingpong",
                              "group": "VRAM Savings",
                              "default": False,
                              "backend": "nvidia",
                              "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> remove         argument_list.append({"opts": ("-sz", "--size"),
                              "type": int,
                              "action": Slider,
                              "min_max": (128, 512),
                              "default": 256,
                              "rounding": 64,
                              "group": "output",
                              "help": "The output size of extracted faces. Make sure that the "
                                      "model you intend to train supports your required size. "
                                      "This will only need to be changed for hi-res models."})
 </s> add  </s> remove         argument_list.append({"opts": ("-dl", "--debug-landmarks"),
                              "action": "store_true",
                              "dest": "debug_landmarks",
                              "default": False,
                              "help": "Draw landmarks on the ouput faces for debugging purposes."})
        argument_list.append({"opts": ("-ae", "--align-eyes"),
                              "action": "store_true",
                              "dest": "align_eyes",
                              "default": False,
                              "help": "Perform extra alignment to ensure left/right eyes are at "
                                      "the same height"})
 </s> add         argument_list.append({"opts": ("-een", "--extract-every-n"),
                              "type": int,
                              "action": Slider,
                              "dest": "extract_every_n",
                              "min_max": (1, 100),
                              "default": 1,
                              "rounding": 1,
                              "group": "output",
                              "help": "Extract every 'nth' frame. This option will skip frames "
                                      "when extracting faces. For example a value of 1 will "
                                      "extract faces from every frame, a value of 10 will extract "
                                      "faces from every 10th frame."})
        argument_list.append({"opts": ("-sz", "--size"),
                              "type": int,
                              "action": Slider,
                              "min_max": (128, 512),
                              "default": 256,
                              "rounding": 64,
                              "group": "output",
                              "help": "The output size of extracted faces. Make sure that the "
                                      "model you intend to train supports your required size. "
                                      "This will only need to be changed for hi-res models."})
                                "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": ("-wl", "--warp-to-landmarks"),
                                "action": "store_true",
                                "dest": "warp_to_landmarks",
                                "default": False,
                                "help": "Warps training faces to closely matched Landmarks from the "
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 GUI Update


- Launch in fullscreen
- Expand Control Helper. Clean up config popup
- Standardize and overhaul GUI for CliOpts 
lib/cli.py