                      ctypes.byref(handle))
                  if success != 0:
                      raise AttributeError("Error calling EnumAdapterByGpuPreference. Result: "
                                           f"{hex(ctypes.c_ulong(success).value)}")
                  adapter = POINTER(IDXGIAdapter3)(cast(IDXGIAdapter3, handle.value))
                  self._log("debug", f"found adapter: {adapter}")
                  retval.append(adapter)
              except COMError as err:
                  err_code = hex(ctypes.c_ulong(err.hresult).value)  # pylint:disable=no-member
                  self._log(
 
</s> remove         retval = ctypes.POINTER(IDXGIFactory6)(cast(IDXGIFactory6, handle.value))
 </s> add         retval = ctypes.POINTER(IDXGIFactory6)(T.cast(IDXGIFactory6, handle.value)) </s> remove     def _load_model(self) -> "ModelBase":
 </s> add     def _load_model(self) -> ModelBase: </s> remove         directml_ver = rocm_ver = (2, 10)
        min_ver = (2, 7)
 </s> add         min_ver = (2, 10) </s> remove             loss: T.List[float] = self._model.model.train_on_batch(model_inputs, y=model_targets)
 </s> add             loss: list[float] = self._model.model.train_on_batch(model_inputs, y=model_targets) </s> remove     def _query_adapter(self, func: Callable[[Any], Any], *args: Any) -> None:
 </s> add     def _query_adapter(self, func: Callable[[T.Any], T.Any], *args: T.Any) -> None:
                adapter = POINTER(IDXGIAdapter3)(T.cast(IDXGIAdapter3, handle.value))
                      ctypes.byref(handle))
                  if success != 0:
                      raise AttributeError("Error calling EnumAdapterByGpuPreference. Result: "
                                           f"{hex(ctypes.c_ulong(success).value)}")
                adapter = POINTER(IDXGIAdapter3)(T.cast(IDXGIAdapter3, handle.value))
                  self._log("debug", f"found adapter: {adapter}")
                  retval.append(adapter)
              except COMError as err:
                  err_code = hex(ctypes.c_ulong(err.hresult).value)  # pylint:disable=no-member
                  self._log(
keep keep keep keep replace keep keep keep keep keep
 Rebase code (#1326)

* Remove tensorflow_probability requirement

* setup.py - fix progress bars

* requirements.txt: Remove pre python 3.9 packages

* update apple requirements.txt

* update INSTALL.md

* Remove python<3.9 code

* setup.py - fix Windows Installer

* typing: python3.9 compliant

* Update pytest and readthedocs python versions

* typing fixes

* Python Version updates
  - Reduce max version to 3.10
  - Default to 3.10 in installers
  - Remove incompatible 3.11 tests

* Update dependencies

* Downgrade imageio dep for Windows

* typing: merge optional unions and fixes

* Updates
  - min python version 3.10
  - typing to python 3.10 spec
  - remove pre-tf2.10 code
  - Add conda tests

* train: re-enable optimizer saving

* Update dockerfiles

* Update setup.py
  - Apple Conda deps to setup.py
  - Better Cuda + dependency handling

* bugfix: Patch logging to prevent Autograph errors

* Update dockerfiles

* Setup.py - Setup.py - stdout to utf-8

* Add more OSes to github Actions

* suppress mac-os end to end test 
lib/gpu_stats/directml.py