code: def _get_num_inputs_outputs(op_type):
      """Returns (num_inputs, num_outputs).
  
      Args:
        op_type: String. The type of the Operation. Used to lookup the op in the
          registry.
  
      Returns:
        (num_inputs, num_outputs), for either num_inputs or num_outputs if the value
        can't be statically inferred from the OpDef alone or of the OpDef lookup
        fails, -1 is returned.
      """
  
      def _is_list_arg(arg):
          return arg.number_attr or arg.type_list_attr
  
      def _count_args(arg_defs):
          for arg in arg_defs:
              if _is_list_arg(arg):
                  # Op has list type args which could be variable.
                  return -1
          return len(arg_defs)
  
      op_def = op_def_registry.get(op_type)
      if not op_def:
          return -1, -1
      return _count_args(op_def.input_arg), _count_args(
          op_def.output_arg
      )
  
imports: import sys
  import gast
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import cfg
  from tensorflow.python.autograph.pyct import parser
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.autograph.pyct import transformer
  from tensorflow.python.autograph.pyct.static_analysis import activity
  from tensorflow.python.autograph.pyct.static_analysis import liveness
  from tensorflow.python.autograph.pyct.static_analysis import reaching_fndefs
  from tensorflow.python.framework import op_def_registry
  from tensorflow.python.framework import ops
label_desc: Use image node_id 2 for calling a global function with example usage: _get_num_inputs_outputs(op_type) and returns: _count_args,  _count_args, unknown, len, unknown,  unknown, unknown