code: def _is_array_like(obj):  # pylint: disable=invalid-name
      """Check if a given object is array-like."""
      if isinstance(obj, core.Symbol) and not isinstance(
          obj, core.Value
      ):  # pylint: disable=protected-access
          # Tensor implements __array__ only so it can inform the user that it is not
          # a valid array.
          return False
  
      # TODO(slebedev): an object could also implement C-level array interface.
      if callable(getattr(obj, "__array__", None)) or isinstance(
          getattr(obj, "__array_interface__", None), dict
      ):
          return True
  
      try:
          memoryview(obj)
      except TypeError:
          return False
      else:
          return not isinstance(obj, bytes)
  
imports: import typing
  from typing import Protocol
  import numpy
  from tensorflow.core.framework import tensor_pb2
  from tensorflow.core.framework import tensor_shape_pb2
  from tensorflow.python.client import pywrap_tf_session
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.types import core
  from tensorflow.python.types import internal
  from tensorflow.python.util import compat
  from tensorflow.python.util import nest
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 23 for calling a global function with example usage: _is_array_like(obj) and returns: False, True, unknown, False