          else:
              suffix = "cpu.txt"
          req_files = ["_requirements_base.txt", f"requirements_{suffix}"]
          pypath = os.path.dirname(os.path.realpath(__file__))
          requirements = list()
          git_requirements = list()
          for req_file in req_files:
              requirements_file = os.path.join(pypath, req_file)
              with open(requirements_file) as req:
                  for package in req.readlines():
                      package = package.strip()
 
</s> remove             with open(requirements_file) as req:
 </s> add             with open(requirements_file, encoding="utf8") as req: </s> remove         with open(config_file, "w") as cnf:
 </s> add         with open(config_file, "w", encoding="utf8") as cnf: </s> remove         self.output.info("Installing {}".format(package.replace("\"", "")))
 </s> add         clean_pkg = package.replace("\"", "")
        self.output.info(f"Installing {clean_pkg}") </s> remove         self.required_packages = list()
        self.missing_packages = list()
        self.conda_missing_packages = list()
 </s> add         self.required_packages = []
        self.missing_packages = []
        self.conda_missing_packages = [] </s> remove         dropped_files = list()
 </s> add         dropped_files = []
        requirements = []
        git_requirements = []
          else:
              suffix = "cpu.txt"
          req_files = ["_requirements_base.txt", f"requirements_{suffix}"]
          pypath = os.path.dirname(os.path.realpath(__file__))
        requirements = []
        git_requirements = []
        requirements = []
        git_requirements = []
          for req_file in req_files:
              requirements_file = os.path.join(pypath, req_file)
              with open(requirements_file) as req:
                  for package in req.readlines():
                      package = package.strip()
keep keep keep keep replace replace keep keep keep keep keep
 Update code to support Tensorflow versions up to 2.8 (#1213)

* Update maximum tf version in setup + requirements

* - bump max version of tf version in launcher
- standardise tf version check

* update keras get_custom_objects  for tf>2.6

* bugfix: force black text in GUI file dialogs (linux)

* dssim loss - Move to stock tf.ssim function

* Update optimizer imports for compatibility

* fix logging for tf2.8

* Fix GUI graphing for TF2.8

* update tests

* bump requirements.txt versions

* Remove limit on nvidia-ml-py

* Graphing bugfixes
  - Prevent live graph from displaying if data not yet available

* bugfix: Live graph. Collect loss labels correctly

* fix: live graph - swallow inconsistent loss errors

* Bugfix: Prevent live graph from clearing during training

* Fix graphing for AMD 
setup.py