  # Revisions of tensorflow GPU and cuda/cudnn requirements. These relate specifically to the
  # Tensorflow builds available from pypi
  _TENSORFLOW_REQUIREMENTS = {">=2.7.0,<2.11.0": ["11.2", "8.1"]}
  # Packages that are explicitly required for setup.py
  _INSTALLER_REQUIREMENTS = [("pexpect>=4.8.0", "!Windows"), ("pywinpty==2.0.2", "Windows")]
  
  # Mapping of Python packages to their conda names if different from pip or in non-default channel
  _CONDA_MAPPING: Dict[str, Tuple[str, str]] = {
      # "opencv-python": ("opencv", "conda-forge"),  # Periodic issues with conda-forge opencv
 
</s> remove ValidBackends = Literal["amd", "nvidia", "cpu", "apple_silicon", "directml"]
 </s> add ValidBackends = Literal["amd", "nvidia", "cpu", "apple_silicon", "directml", "rocm"] </s> remove     def update_tf_dep(self) -> None:
        """ Update Tensorflow Dependency """
        if self.is_conda or self.backend != "nvidia":
            # CPU/AMD doesn't need Cuda and Conda handles Cuda and cuDNN so nothing to do here
 </s> add     def _update_tf_dep_nvidia(self) -> None:
        """ Update the Tensorflow dependency for global Cuda installs """
        if self.is_conda:  # Conda handles Cuda and cuDNN so nothing to do here </s> remove elif backend == "cpu":
 </s> add elif backend == "rocm":
    from .rocm import ROCm as GPUStats  # type:ignore
else: </s> remove     _backends = (("nvidia", "amd", "apple_silicon", "directml", "cpu"))
 </s> add     _backends = (("nvidia", "amd", "apple_silicon", "directml", "rocm", "cpu")) </s> remove         inp = input("Please ensure your System Dependencies are met. Continue? [y/N] ")
 </s> add         text = "Please ensure your System Dependencies are met"
        if self._env.backend == "rocm":
            text += ("\r\nROCm users: Please ensure that your AMD GPU is supported by the "
                     "installed ROCm version before proceeding.")
        text += "\r\nContinue? [y/N] "
        inp = input(text)
# ROCm min/max version requirements for Tensorflow
_TENSORFLOW_ROCM_REQUIREMENTS = {">=2.10.0,<2.11.0": ((5, 2, 0), (5, 4, 0))}
# TODO tensorflow-metal versioning
  # Revisions of tensorflow GPU and cuda/cudnn requirements. These relate specifically to the
  # Tensorflow builds available from pypi
  _TENSORFLOW_REQUIREMENTS = {">=2.7.0,<2.11.0": ["11.2", "8.1"]}
# ROCm min/max version requirements for Tensorflow
_TENSORFLOW_ROCM_REQUIREMENTS = {">=2.10.0,<2.11.0": ((5, 2, 0), (5, 4, 0))}
# TODO tensorflow-metal versioning
  # Packages that are explicitly required for setup.py
  _INSTALLER_REQUIREMENTS = [("pexpect>=4.8.0", "!Windows"), ("pywinpty==2.0.2", "Windows")]
  
  # Mapping of Python packages to their conda names if different from pip or in non-default channel
  _CONDA_MAPPING: Dict[str, Tuple[str, str]] = {
      # "opencv-python": ("opencv", "conda-forge"),  # Periodic issues with conda-forge opencv
keep keep add keep keep keep keep keep keep
 Linux - ROCm (AMD) support 
setup.py