class_docstr: An array of fixed-shape, homogeneous-typed tensors.
  
  This is the Arrow side of TensorArray.
  
  See Arrow docs for customizing extension arrays:
  https://arrow.apache.org/docs/python/extending_types.html#custom-extension-array-class
class_docstr_tok: ["An","array","of","fixed-shape",",","homogeneous-typed","tensors",".","This","is","the","Arrow","side","of","TensorArray",".","See","Arrow","docs","for","customizing","extension","arrays",":","https",":","\/\/arrow.apache.org\/docs\/python\/extending_types.html","#","custom-extension-array-class"]
docstr: Create a ChunkedArray from multiple tensor arrays.
docstr_tok: ["Create","a","ChunkedArray","from","multiple","tensor","arrays","."]
code: def _chunk_tensor_arrays(
      cls,
      arrs: Sequence[
          Union["ArrowTensorArray", "ArrowVariableShapedTensorArray"]
      ],
  ) -> pa.ChunkedArray:
      """
      Create a ChunkedArray from multiple tensor arrays.
      """
      arrs_types = [arr.type for arr in arrs]
      if ArrowTensorType._need_variable_shaped_tensor_array(arrs_types):
          new_arrs = []
          for a in arrs:
              if isinstance(a.type, ArrowTensorType):
                  a = a.to_variable_shaped_tensor_array()
              assert isinstance(a.type, ArrowVariableShapedTensorType)
              new_arrs.append(a)
          arrs = new_arrs
      return pa.chunked_array(arrs)
  
imports: import itertools
  import json
  import sys
  from typing import Iterable, Optional, Tuple, List, Sequence, Union
  from packaging.version import parse
  import numpy
  import pyarrow
  from ray.air.util.tensor_extensions.utils import _is_ndarray_variable_shaped_tensor, create_ragged_ndarray
  from ray._private.utils import _get_pyarrow_version
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 5 for calling the ArrowTensorArray obj's underlying member method code with example usage: obj._chunk_tensor_arrays(cls, arrs) and returns: pa