class_docstr: custom wrappers around ops
code: def __call__(self, *inputs, **kwargs):
      # We do not handle multiple input sets for Reader as they do not have inputs
      args, arg_inputs = ops._separate_kwargs(kwargs)
  
      args = ops._resolve_double_definitions(
          args, self._init_args, keep_old=False
      )
      if self._name is not None:
          args = ops._resolve_double_definitions(
              args, {"name": self._name}
          )  # restore the name
  
      self._preserve = (
          self._preserve
          or args.get("preserve", False)
          or self._schema.IsNoPrune()
      )
  
      feature_names = []
      features = []
      for feature_name, feature in self._features.items():
          feature_names.append(feature_name)
          features.append(feature)
  
      # Those arguments are added after the outputs are generated
      self.spec.AddArg("feature_names", feature_names)
      self.spec.AddArg("features", features)
  
      op_instance = ops._OperatorInstance(
          inputs, arg_inputs, args, self._init_args, self
      )
  
      outputs = {}
      for feature_name, output in zip(
          feature_names, op_instance.outputs
      ):
          outputs[feature_name] = output
  
      return outputs
  
file_path: DALI/dali/python/nvidia/dali/ops/_operators/tfrecord.py
imports: from nvidia.dali import backend
  from nvidia.dali import ops
label_desc: Use image node_id 6 for calling the _TFRecordReaderImpl obj's underlying member method code with example usage: obj.__call__() and returns: outputs