code: def tree_multiply(*args, combine_size=None, **kwargs):
      class MultiplyBuilder(TreeReductionBuilder):
          def _build_reduction(self, inputs, final=False):
              op = TensorTreeMultiply(args=inputs, **kwargs)
              return op(*inputs)
  
      args = [scalar(a) if np.isscalar(a) else a for a in args]
      return MultiplyBuilder(combine_size).build(args)
  
file_path: mars/mars/tensor/arithmetic/multiply.py
imports: import numpy
  from functools import reduce
  from ...None import opcodes
  from ...serialization.serializables import BoolField
  from ..array_utils import device, as_same_device
  from ..datasource import scalar
  from ..utils import infer_dtype
  from .core import TensorBinOp, TensorMultiOp
  from .utils import arithmetic_operand, tree_op_estimate_size, TreeReductionBuilder
label_desc: Use image node_id 3 for calling a global function with example usage: tree_multiply() and returns: MultiplyBuilder, op