class_docstr: Equivalent of numpy.ndarray backed by TensorFlow tensors.
  
  This does not support all features of NumPy ndarrays e.g. strides and
  memory order since, unlike NumPy, the backing storage is not a raw memory
  buffer.
  
  TODO(srbs): Clearly specify which attributes and methods are not supported
  or if there are any differences in behavior.
docstr: Tensor object containing the array data.
  
  This has a few key differences from the Python buffer object used in
  NumPy arrays.
  1. Tensors are immutable. So operations requiring in-place edit, e.g.
     __setitem__, are performed by replacing the underlying buffer with a new
     one.
  2. Tensors do not provide access to their raw buffer.
  
  Returns:
    A Tensor.
docstr_tok: ["Tensor","object","containing","the","array","data",".","This","has","a","few","key","differences","from","the","Python","buffer","object","used","in","NumPy","arrays",".","1",".","Tensors","are","immutable",".","So","operations","requiring","in-place","edit",",","e.g",".","__setitem__",",","are","performed","by","replacing","the","underlying","buffer","with","a","new","one",".","2",".","Tensors","do","not","provide","access","to","their","raw","buffer",".","Returns",":","A","Tensor","."]
code: def data(self):
      """Tensor object containing the array data.
  
      This has a few key differences from the Python buffer object used in
      NumPy arrays.
      1. Tensors are immutable. So operations requiring in-place edit, e.g.
         __setitem__, are performed by replacing the underlying buffer with a new
         one.
      2. Tensors do not provide access to their raw buffer.
  
      Returns:
        A Tensor.
      """
      return self._data
  
imports: import numpy
  import six
  import tensorflow.compat.v2
  from trax.tf_numpy.numpy_impl import dtypes
label_desc: Use image node_id 2 for calling the ndarray obj's underlying member method code with example usage: obj.data() and returns: self