code: def choose_random_backend(excluded=None):
      excluded = [] if excluded is None else excluded
      while True:
          ivy.utils.assertions.check_equal(
              len(excluded),
              4,
              inverse=True,
              message="""Unable to select backend, all backends are excluded,\
              or not installed.""",
              as_array=False,
          )
          f = np.random.choice(
              [
                  f_srt
                  for f_srt in list(_backend_dict.keys())
                  if f_srt not in excluded
              ]
          )
          if f is None:
              excluded.append(f)
              continue
          else:
              print(f"\nselected backend: {f}\n")
              return f
  
imports: import os
  import copy
  import types
  import ivy
  import importlib
  import functools
  import numpy
  import gc
  from ivy.utils import _importlib, verbosity
  from ivy.func_wrapper import _wrap_function
  from ivy.utils.backend.sub_backend_handler import _clear_current_sub_backends, fn_name_from_version_specific_fn_name
  from ivy.utils.exceptions import _handle_inplace_mode
label_desc: Use image node_id 19 for calling a global function with example usage: choose_random_backend(excluded) and returns: f