code: def _suggest_load_context(model, mode, orig_ctx):
      """Get the correct context given the mode"""
      if not isinstance(orig_ctx, (list, tuple)):
          orig_ctx = [orig_ctx]
      try:
          import mxnet as mx
      except ImportError:
          mx = None
      try:
          import torch
      except ImportError:
          torch = None
      if mx is not None and isinstance(model, mx.gluon.Block):
          if mode == "auto":
              if orig_ctx[0].device_type == "gpu":
                  mode = "gpu"
              else:
                  mode = "cpu"
          if mode == "cpu":
              return [mx.cpu()]
          if mode == "gpu":
              return [mx.gpu(i) for i in range(mx.context.num_gpus())]
          if isinstance(mode, (list, tuple)):
              if not all(isinstance(i, int) for i in mode):
                  raise ValueError(
                      "Requires integer gpu id, given {}".format(mode)
                  )
              return [
                  mx.gpu(i)
                  for i in mode
                  if i in range(mx.context.num_gpus())
              ]
      if torch is not None and isinstance(
          model, (torch.nn.Module, torch.nn.DataParallel)
      ):
          if mode == "auto":
              if orig_ctx[0] == torch.device("cpu"):
                  mode = "cpu"
              else:
                  mode = "gpu"
          if mode == "cpu":
              return [torch.device("cpu")]
          if mode == "gpu":
              return [
                  torch.device(f"cuda:{gid}")
                  for gid in range(torch.cuda.device_count())
              ]
          if isinstance(mode, (list, tuple)):
              if not all(isinstance(i, int) for i in mode):
                  raise ValueError(
                      "Requires integer gpu id, given {}".format(mode)
                  )
              return [
                  torch.device(f"cuda:{gid}")
                  for gid in mode
                  if gid in range(torch.cuda.device_count())
              ]
  
      return None
  
file_path: gluon-cv/gluoncv/auto/estimators/utils.py
imports: import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: _suggest_load_context(model, mode, orig_ctx) and returns: None, list, unknown, unknown, list, unknown, unknown