class_docstr: `FeatureConnector` for generic data of arbitrary shape and type.
docstr: See base class for details.
docstr_tok: ["See","base","class","for","details","."]
code: def get_serialized_info(self):
      """See base class for details."""
      if self._encoded_to_bytes:  # Values encoded (stored as bytes)
          serialized_spec = feature_lib.TensorInfo(
              shape=(), dtype=np.object_
          )
      else:
          serialized_spec = feature_lib.TensorInfo(
              shape=self._serialized_shape,
              dtype=self._serialized_dtype,
          )
  
      # Dynamic shape, need an additional field to restore the shape after
      # de-serialization.
      if self._dynamic_shape:
          return {
              "shape": feature_lib.TensorInfo(
                  shape=(len(self._shape),),
                  dtype=np.int32,
              ),
              "value": serialized_spec,
          }
      return serialized_spec
  
imports: from __future__ import annotations
  import enum
  import functools
  from typing import Optional, Protocol, Tuple, TypeVar, Union
  import zlib
  from etils import enp
  import numpy
  from tensorflow_datasets.core import utils
  from tensorflow_datasets.core.features import feature
  from tensorflow_datasets.core.proto import feature_pb2
  from tensorflow_datasets.core.utils import dtype_utils
  from tensorflow_datasets.core.utils import np_utils
  from tensorflow_datasets.core.utils import py_utils
  from tensorflow_datasets.core.utils import type_utils
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
label_desc: Use image node_id 3 for calling the Tensor obj's underlying member method code with example usage: obj.get_serialized_info() and returns: serialized_spec, dict