code: def __init__(
      self,
      metric=None,
      p=None,
      w=None,
      v=None,
      vi=None,
      a=None,
      a_offset=None,
      b=None,
      b_offset=None,
      out_sizes=None,
      n=None,
      aggregate_size=None,
      **kw,
  ):
      super().__init__(
          _metric=metric,
          _p=p,
          _w=w,
          _v=v,
          _vi=vi,
          _a=a,
          _a_offset=a_offset,
          _b=b,
          _b_offset=b_offset,
          _out_sizes=out_sizes,
          _n=n,
          _aggregate_size=aggregate_size,
          **kw,
      )
  
imports: from typing import List, Tuple
  import numpy
  from ....None import opcodes
  from ....core import recursive_tile
  from ....core.operand import OperandStage
  from ....serialization.serializables import FieldTypes, KeyField, AnyField, Float16Field, Int32Field, TupleField
  from ....utils import has_unknown_shape, require_module, ensure_own_data
  from ....config import options
  from ...operands import TensorMapReduceOperand, TensorOperandMixin, TensorShuffleProxy
  from ...array_utils import as_same_device, device, cp
  from ...core import TensorOrder
  from ...datasource.array import tensor
label_desc: Use image node_id 1 to create a new TensorPdist object from inherited base classes: TensorMapReduceOperand, TensorOperandMixin with example: obj = TensorPdist(metric, p, w, v, vi, a, a_offset, b, b_offset, out_sizes, n, aggregate_size)