              self.output.error("{} is not a valid pip wheel".format(custom_tf))
          elif custom_tf:
              self.required_packages.append(custom_tf)
  
      def update_tf_dep_conda(self):
          """ Update Conda TF Dependency """
          if not self.enable_cuda:
              self.required_packages.append("tensorflow==1.15.0")
          else:
              self.required_packages.append("tensorflow-gpu==1.15.0")
  
      def update_amd_dep(self):
          """ Update amd dependency for AMD cards """
          if self.enable_amd:
              self.required_packages.extend(["plaidml-keras==0.6.4", "plaidml==0.6.4"])
  
      def set_config(self):
          """ Set the backend in the faceswap config file """
          if self.enable_amd:
              backend = "amd"
          elif self.enable_cuda:
 
</s> remove         if self.is_conda:
            self.update_tf_dep_conda()
            return

        if not self.enable_cuda:
            self.required_packages.append("tensorflow==1.15.0")
 </s> add         if self.is_conda or not self.enable_cuda:
            # CPU/AMD doesn't need Cuda and Conda handles Cuda and cuDNN so nothing to do here </s> remove             else:
                if len(pkg.split("==")) > 1:
                    if pkg.split("==")[1] != self.env.installed_packages.get(key):
                        self.env.missing_packages.append(pkg)
                        continue

    @staticmethod
    def check_os_requirements(package):
        """ Check that the required package is required for this OS """
        if ";" not in package and "sys_platform" not in package:
            return package
        package = "".join(package.split())
        pkg, tags = package.split(";")
        tags = tags.split("==")
        sys_platform = tags[tags.index("sys_platform") + 1].replace('"', "").replace("'", "")
        if sys_platform == sys.platform:
            return pkg
        return None
 </s> add             installed_vers = self.env.installed_packages.get(key, "")
            if specs and not all(self._operators[spec[0]](installed_vers, spec[1])
                                 for spec in specs):
                self.env.missing_packages.append((key, specs)) </s> remove         for pkg in self.env.required_packages:
            pkg = self.check_os_requirements(pkg)
            if pkg is None:
                continue
            key = pkg.split("==")[0]
 </s> add         for key, specs in self.env.required_packages:
              self.output.error("{} is not a valid pip wheel".format(custom_tf))
          elif custom_tf:
              self.required_packages.append(custom_tf)
  












      def set_config(self):
          """ Set the backend in the faceswap config file """
          if self.enable_amd:
              backend = "amd"
          elif self.enable_cuda:
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Dependencies update (#1028)

* Dependencies update
  - Split requirements.txt into separate version files
  - More flexible package pinning
  - Update dependencies
  - Fix pynvml being constantly re-downloaded on update
  - Update dockerfiles
  - update INSTALL.md 
setup.py