class_docstr: Tensor argument information
  
  Parameters
  ----------
  dtype : DataType
      The data type of the tensor.
  shape : ShapeTuple
      The shape of the tensor.
class_docstr_tok: ["Tensor","argument","information","Parameters","--","--","--","--","--","dtype",":","DataType","The","data","type","of","the","tensor",".","shape",":","ShapeTuple","The","shape","of","the","tensor","."]
docstr: Constructor
  
  Parameters
  ----------
  dtype : DataType
      The data type of the tensor.
  shape : ShapeTuple
      The shape of the tensor.
docstr_tok: ["Constructor","Parameters","--","--","--","--","--","dtype",":","DataType","The","data","type","of","the","tensor",".","shape",":","ShapeTuple","The","shape","of","the","tensor","."]
code: def __init__(
      self,
      dtype: DataType,
      shape: Union[ShapeTuple, List[int]],
  ) -> None:
      """Constructor
  
      Parameters
      ----------
      dtype : DataType
          The data type of the tensor.
      shape : ShapeTuple
          The shape of the tensor.
      """
      if isinstance(shape, ShapeTuple):
          shape_tuple = shape
      else:
          shape_tuple = ShapeTuple(shape)
      self.__init_handle_by_constructor__(
          _ffi_api.TensorInfo,  # type: ignore # pylint: disable=no-member
          dtype,
          shape_tuple,
      )
  
file_path: tvm/python/tvm/meta_schedule/arg_info.py
imports: from typing import Any, List, Union
  from tvm._ffi import register_object
  from tvm.ir import IRModule
  from tvm.runtime import DataType, Object, ShapeTuple
  from tvm.tir import PrimFunc
  from .None import _ffi_api
  from .utils import _json_de_tvm
label_desc: Use image node_id 1 to create a new TensorInfo object from inherited base classes: ArgInfo with example: obj = TensorInfo(dtype, shape)