docstr: Verifies backend choice.
  
  Verifies backend is implemented and that the correct dependencies are installed for the requested backend. If
  the backend is not implemented or a dependency is missing then an error is issued.
  
  Parameters
  ----------
  backend
      Choice of backend the user wishes to initialize the alibi-detect construct with. Must be one of the keys
      in the `self.backend_options` dictionary.
  
  Raises
  ------
  NotImplementedError
      If backend is not a member of `self.backend_options.keys()` a `NotImplementedError` is raised. Note `None`
      is a valid choice of backend if it is set as a key on `self.backend_options.keys()`. If a backend is not
      implemented for an alibi-detect object then it should not have a key on `self.backend_options`.
  ImportError
      If one of the dependencies in `self.backend_options[backend]` is missing then an ImportError will be thrown
      including a message informing the user how to install.
docstr_tok: ["Verifies","backend","choice",".","Verifies","backend","is","implemented","and","that","the","correct","dependencies","are","installed","for","the","requested","backend",".","If","the","backend","is","not","implemented","or","a","dependency","is","missing","then","an","error","is","issued",".","Parameters","--","--","--","--","--","backend","Choice","of","backend","the","user","wishes","to","initialize","the","alibi-detect","construct","with",".","Must","be","one","of","the","keys","in","the","`","self.backend_options","`","dictionary",".","Raises","--","--","--","NotImplementedError","If","backend","is","not","a","member","of","`","self.backend_options.keys","(",")","`","a","`","NotImplementedError","`","is","raised",".","Note","`","None","`","is","a","valid","choice","of","backend","if","it","is","set","as","a","key","on","`","self.backend_options.keys","(",")","`",".","If","a","backend","is","not","implemented","for","an","alibi-detect","object","then","it","should","not","have","a","key","on","`","self.backend_options","`",".","ImportError","If","one","of","the","dependencies","in","`","self.backend_options","[","backend","]","`","is","missing","then","an","ImportError","will","be","thrown","including","a","message","informing","the","user","how","to","install","."]
code: def verify_backend(self, backend: str):
      """Verifies backend choice.
  
      Verifies backend is implemented and that the correct dependencies are installed for the requested backend. If
      the backend is not implemented or a dependency is missing then an error is issued.
  
      Parameters
      ----------
      backend
          Choice of backend the user wishes to initialize the alibi-detect construct with. Must be one of the keys
          in the `self.backend_options` dictionary.
  
      Raises
      ------
      NotImplementedError
          If backend is not a member of `self.backend_options.keys()` a `NotImplementedError` is raised. Note `None`
          is a valid choice of backend if it is set as a key on `self.backend_options.keys()`. If a backend is not
          implemented for an alibi-detect object then it should not have a key on `self.backend_options`.
      ImportError
          If one of the dependencies in `self.backend_options[backend]` is missing then an ImportError will be thrown
          including a message informing the user how to install.
      """
      if backend not in self.backend_options:
          self._raise_implementation_error(backend)
  
      dependencies = self.backend_options[backend]
      missing_deps = []
      for dependency in dependencies:
          if not HAS_BACKEND[dependency]:
              missing_deps.append(dependency)
  
      if missing_deps:
          self._raise_import_error(missing_deps, backend)
  
file_path: alibi-detect/alibi_detect/utils/frameworks.py
imports: from .missing_optional_dependency import ERROR_TYPES
  from typing import Optional, List, Dict, Iterable
  from enum import Enum
label_desc: Use image node_id 2 for calling the BackendValidator obj's underlying member method code with example usage: obj.verify_backend(backend) without return types