code: def execute(cls, ctx, op):
      (
          (x, centers, center_half_distances),
          device_id,
          xp,
      ) = as_same_device(
          [ctx[inp.key] for inp in op.inputs],
          device=op.device,
          ret_extra=True,
          copy_if_not_writeable=True,
      )
  
      with device(device_id):
          if xp is cp:  # pragma: no cover
              raise NotImplementedError(
                  "cannot support init_bounds for kmeans elkan"
              )
  
          n_samples = x.shape[0]
          n_clusters = op.n_clusters
  
          labels = np.full(n_samples, -1, dtype=np.int32)
          upper_bounds = np.zeros(n_samples, dtype=x.dtype)
          lower_bounds = np.zeros(
              (n_samples, n_clusters), dtype=x.dtype
          )
  
          if xp is np:
              init_bounds = init_bounds_dense
          else:
              assert xp is sparse
              init_bounds = init_bounds_sparse
  
          init_bounds(
              x,
              centers,
              center_half_distances,
              labels,
              upper_bounds,
              lower_bounds,
          )
  
          ctx[op.outputs[0].key] = labels
          ctx[op.outputs[1].key] = upper_bounds
          ctx[op.outputs[2].key] = lower_bounds
  
imports: import numpy
  from ...None import opcodes
  from ...core import OutputType, recursive_tile
  from ...core.operand import OperandStage
  from ...serialization.serializables import KeyField, Int32Field, BoolField
  from ...tensor.array_utils import as_same_device, device, cp, sparse
  from ...tensor.core import TensorOrder
  from ...utils import has_unknown_shape
  from ..operands import LearnOperand, LearnOperandMixin
  from ._k_means_common import _execute_merge_update, _relocate_empty_clusters
  from ._k_means_elkan import init_bounds_dense, init_bounds_sparse, update_chunk_dense, update_chunk_sparse
  from ._k_means_fast import update_center, update_upper_lower_bounds
label_desc: Use image node_id 10 for calling the KMeansElkanInitBounds obj's underlying member method code with example usage: obj.execute(cls, ctx, op) without return types