code: def get_best_backend(self, path, operator):
      from nnabla.utils.data_source_loader import get_file_extension
  
      if self._default_backend:
          self._current_backend = self._default_backend
          return self._default_backend()
      else:
          ext = get_file_extension(path)
          if ext not in self._best_backend:
              self._best_backend[ext] = None
              self._best_backend_name[ext] = None
              for name, backend in self._subclasses.items():
                  state = backend().accept(path, ext, operator)
                  if state == "OK":
                      if self._best_backend[ext] is None:
                          self._best_backend_name[ext] = name
                          self._best_backend[ext] = backend()
                          self._best_backend[ext].next[ext] = None
                      else:
                          end = self._best_backend[ext]
                          while (
                              ext in end.next
                              and end.next[ext] is not None
                          ):
                              end = self._best_backend[ext].next[ext]
                          end.next[ext] = backend()
                  elif state == "Recommended":
                      self._best_backend_name[ext] = name
                      if self._best_backend[ext] is not None:
                          head = self._best_backend[ext]
                          self._best_backend[ext] = backend()
                          self._best_backend[ext].next[ext] = head
                      else:
                          self._best_backend[ext] = backend()
          if self._best_backend[ext]:
              self._current_backend = self._best_backend[ext].__class__
              return self._best_backend[ext]
          else:
              raise ValueError("Currently, No backend available.")
  
file_path: nnabla/python/src/nnabla/utils/image_utils/backend_events/image_utils_backend.py
imports: from collections import OrderedDict
label_desc: Use image node_id 6 for calling the ImageUtilsBackend obj's underlying member method code with example usage: obj.get_best_backend(path, operator) and returns: self, self