code: def _create_backend_op(
      spec, device, num_inputs, num_outputs, call_args_names, op_name
  ):
      inp_device = "cpu" if device == "mixed" else device
      out_device = "gpu" if device == "mixed" else device
  
      for i in range(num_inputs):
          spec.AddInput(op_name + f"[{i}]", inp_device)
  
      for i in range(num_outputs):
          spec.AddOutput(op_name + f"_out[{i}]", out_device)
  
      for arg_name in call_args_names:
          spec.AddArgumentInput(arg_name, "")
  
      if device == "cpu":
          backend_op = _b.EagerOperatorCPU(spec)
      elif device == "gpu":
          backend_op = _b.EagerOperatorGPU(spec)
      elif device == "mixed":
          backend_op = _b.EagerOperatorMixed(spec)
      else:
          raise ValueError(
              f"Incorrect device type '{device}' in eager operator '{op_name}'."
          )
  
      return backend_op
  
imports: import sys
  from nvidia.dali import backend
  from nvidia.dali import internal
  from nvidia.dali import ops
  from nvidia.dali import tensors
  from nvidia.dali import types
  from nvidia.dali.external_source import _prep_data_for_feed_input
label_desc: Use image node_id 29 for calling a global function with example usage: _create_backend_op(spec, device, num_inputs, num_outputs, call_args_names, op_name) and returns: backend_op