code: def execute_combine(cls, ctx, op):
      axis = cls.get_axis(op.axis)
      moment = op.moment
      dtype = op.dtype
  
      (_data, _count, _var_square), device_id, xp = as_same_device(
          ctx[op.inputs[0].key], device=op.device, ret_extra=True
      )
      empty = get_array_module(_data, nosparse=True).empty
  
      with device(device_id):
          chunk_count = xp.sum(
              _count,
              axis=axis,
              dtype=np.int64,
              keepdims=bool(op.keepdims),
          )
          chunk_sum = xp.sum(
              _data, axis=axis, dtype=dtype, keepdims=bool(op.keepdims)
          )
          avg = xp.true_divide(chunk_sum, chunk_count, dtype=dtype)
          avg_diff = xp.true_divide(_data, _count, dtype=dtype) - avg
          var_square = empty(
              chunk_count.shape + (moment - 1,), dtype=dtype
          )
  
          for m in range(2, moment + 1):
              var_square[..., m - 2] = reduce_var_square(
                  _var_square, avg_diff, _count, op, axis, xp.sum
              )
  
          ctx[op.outputs[0].key] = (chunk_sum, chunk_count, var_square)
  
imports: import numpy
  from math import factorial
  from ...None import opcodes
  from ...serialization.serializables import Int32Field
  from ..datasource import tensor
  from ..array_utils import as_same_device, device, get_array_module
  from .core import TensorReduction, TensorReductionMixin, numel
label_desc: Use image node_id 6 for calling the TensorMoment obj's underlying member method code with example usage: obj.execute_combine(cls, ctx, op) without return types