code: def __init__(self, params):
      if not isinstance(params, dict):
          raise TypeError("params must be a dict.")
      self._contexts = []
  
      # Default values
      for k, v in self._props:
          setattr(self, k, v)
      # Specified values
      for k, v in params.items():
          if not hasattr(self, k):
              raise ValueError("Parameter {} is not defined".format(k))
          setattr(self, k, v)
  
      self._check_params()
      self._adjust_params()
  
imports: import functools
  import chainer
  from chainer import backend
  from chainer.testing import _bundle
  from chainer.testing import attr
  import chainerx
label_desc: Use image node_id 1 to create a new BackendConfig object from inherited base classes: object with example: obj = BackendConfig(params)