      def get_optional_arguments():
          """ Put the arguments in a list so that they are accessible from both
          argparse and gui """
          argument_list = []
          argument_list.append({"opts": ("--serializer", ),
                                "type": str.lower,
                                "dest": "serializer",
 
</s> remove         """ Return a list of available models """
 </s> add         """ Return a list of available aligners/detectors """
 </s> remove                                       "then alignment (2 passes). Useful if VRAM is at a premium. "
                                      "Only has an effect if both the aligner and detector use "
                                      "the GPU, otherwise this is automatically off. NB: AMD "
                                      "cards do not support parallel processing, so if both "
                                      "aligner and detector use an AMD GPU this will "
                                      "automatically be enabled."})
 </s> add                                       "then alignment (2 passes). Useful if VRAM is at a "
                                      "premium."}) </s> remove                               "help": "[Nvidia only] 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                               "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."})
        backend = get_backend().lower()
      def get_optional_arguments():
          """ Put the arguments in a list so that they are accessible from both
          argparse and gui """
        backend = get_backend().lower()
          argument_list = []
          argument_list.append({"opts": ("--serializer", ),
                                "type": str.lower,
                                "dest": "serializer",
keep keep add keep keep keep keep
 More seamless AMD Integration

- utils.py: Set FS backend if .faceswap config file doesn't exist
- setup.py: set .faceswap config on setup
- Dynamically load options for AMD/CPU/NVIDIA backends 
lib/cli.py