input: 
  def decode_libsvm(input: tf.Tensor, num_features: int, dtype: tf.DType = tf.float32, label_dtype: tf.DType = tf.int64, name: Optional[str] = None) -> Tuple[tf.Tensor, tf.Tensor, tf.Tensor, tf.Tensor]:
      """Convert LibSVM input to tensors. The output consists of
  
      a label and a feature tensor. The shape of the label tensor
      is the same as input and the shape of the feature tensor is
      `[input_shape, num_features]`.
  
      Args:
          input: A `Tensor` of type `string`. Each string is a record in the LibSVM.
          num_features: An `int` that is `>= 1`. The number of features.
          dtype: An optional `tf.DType` from: `tf.float32, tf.float64, tf.int32, tf.int64`. Defaults to `tf.float32`.
          label_dtype: An optional `tf.DType` from: `tf.float32, tf.float64, tf.int32, tf.int64`. Defaults to `tf.int64`.
          name: A name for the operation (optional).
  
      Returns:
          A tuple of `Tensor` objects (label, feature_indices, feature_values, feature_shape).
  
          label: A `Tensor` of type `label_dtype`. A tensor of the same shape as input.
          feature_indices: A `Tensor` of type `int64`. A 2-D int64 tensor of dense_shape [N, ndims].
          feature_values: A `Tensor` of type `dtype`. A 1-D tensor of any type and dense_shape [N].
          feature_shape: A `Tensor` of type `int64`. A 1-D int64 tensor of dense_shape [ndims].
      """
      _ctx = _context._context
      if _ctx is None or not _ctx._eager_context.is_eager:
          num_features = _execute.make_int(num_features, "num_features")
          if dtype is None:
              dtype = _dtypes.float32
          dtype = _execute.make_type(dtype, "dtype")
          if label_dtype is None:
              label_dtype = _dtypes.int64
          label_dtype = _execute.make_type(label_dtype, "label_dtype")
          _, _, _op = _op_def_lib._apply_op_helper(
              "DecodeLibsvm", input=input, num_features=num_features, dtype=dtype,
              label_dtype=label_dtype, name=name)
          _result = _op.outputs[:]
          _inputs_flat = _op.inputs
          _attrs = ("dtype", _op.get_attr("dtype"), "label_dtype",
                    _op.get_attr("label_dtype"), "num_features",
                    _op.get_attr("num_features"))
          _execute.record_gradient(
              "DecodeLibsvm", _inputs_flat, _attrs, _result, name)
          _result = _DecodeLibsvmOutput._make(_result)
          return _result
  
      else:
          try:
              _result = _pywrap_tensorflow.TFE_Py_FastPathExecute(
                  _ctx._context_handle, _ctx._eager_context.device_name, "DecodeLibsvm",
                  name, _ctx._post_execution_callbacks, input, "dtype", dtype,
                  "label_dtype", label_dtype, "num_features", num_features)
              _result = _DecodeLibsvmOutput._make(_result)
              return _result
          except _core._FallbackException:
              return decode_libsvm_eager_fallback(
                  input, dtype=dtype, label_dtype=label_dtype,
                  num_features=num_features, name=name, ctx=_ctx)
          except _core._NotOkStatusException as e:
              if name is not None:
                  message = e.message + " name: " + name
              else:
                  message = e.message
              _six.raise_from(_core._status_to_exception(e.code, message), None)
  
  
  def decode_libsvm_eager_fallback(input, num_features, dtype=_dtypes.float32, label_dtype=_dtypes.int64, name=None, ctx=None):
      r"""This is the slowpath function for Eager mode.
      This is for function decode_libsvm
      """
      _ctx = ctx if ctx else _context.context()
      num_features = _execute.make_int(num_features, "num_features")
      if dtype is None:
          dtype = _dtypes.float32
      dtype = _execute.make_type(dtype, "dtype")
      if label_dtype is None:
          label_dtype = _dtypes.int64
      label_dtype = _execute.make_type(label_dtype, "label_dtype")
      input = _ops.convert_to_tensor(input, _dtypes.string)
      _inputs_flat = [input]
      _attrs = ("dtype", dtype, "label_dtype", label_dtype, "num_features",
                num_features)
      _result = _execute.execute(b"DecodeLibsvm", 4, inputs=_inputs_flat,
                                 attrs=_attrs, ctx=_ctx, name=name)
      _execute.record_gradient(
          "DecodeLibsvm", _inputs_flat, _attrs, _result, name)
      _result = _DecodeLibsvmOutput._make(_result)
      return _result
  
output:     
      else:
          try:
              _result = _pywrap_tensorflow.TFE_Py_FastPathExecute(
                  _ctx._context_handle, _ctx._eager_context.device_name, "DecodeLibsvm",
                  name, _ctx._post_execution_callbacks, input, "dtype", dtype,
                  "label_dtype", label_dtype, "num_features", num_features)
              _result = _DecodeLibsvmOutput._make(_result)
              return _result
          except _core._FallbackException:
              return decode_libsvm_eager_fallback(
                  input, dtype=dtype, label_dtype=label_dtype,
                  num_features=num_features, name=name, ctx=_ctx)
          except _core._NotOkStatusException as e:
              if name is not None:
                  message = e.message + " name: " + name
              else:
                  message = e.message
              _six.raise_from(_core._status_to_exception(e.code, message), None)
  
  
  def decode_libsvm_eager_fallback(input, num_features, dtype=_dtypes.float32, label_dtype=_dtypes.int64, name=None, ctx=None):
      r"""This is the slowpath function for Eager mode.
      This is for function decode_libsvm
      """
      _ctx = ctx if ctx else _context.context()
      num_features = _execute.make_int(num_features, "num_features")
      if dtype is None:
          dtype = _dtypes.float32
      dtype = _execute.make_type(dtype, "dtype")
      if label_dtype is None:
          label_dtype = _dtypes.int64
      label_dtype = _execute.make_type(label_dtype, "label_dtype")
      input = _ops.convert_to_tensor(input, _dtypes.string)
      _inputs_flat = [input]
      _attrs = ("dtype", dtype, "label_dtype", label_dtype, "num_features",
                num_features)
      _result = _execute.execute(b"DecodeLibsvm", 4, inputs=_inputs_flat,
                                 attrs=_attrs, ctx=_ctx, name=name)
      _execute.record_gradient(
          "DecodeLibsvm", _inputs_flat, _attrs, _result, name)
      _result = _DecodeLibsvmOutput._make(_result)
      return _result
  