code: def zeros_like(a, dtype=None, gpu=None, order="K"):
      """
      Return a tensor of zeros with the same shape and type as a given tensor.
  
      Parameters
      ----------
      a : array_like
          The shape and data-type of `a` define these same attributes of
          the returned array.
      dtype : data-type, optional
          Overrides the data type of the result.
      gpu : bool, optional
          Allocate the tensor on GPU if True, None as default
      order : {'C', 'F', 'A', or 'K'}, optional
          Overrides the memory layout of the result. 'C' means C-order,
          'F' means F-order, 'A' means 'F' if `a` is Fortran contiguous,
          'C' otherwise. 'K' means match the layout of `a` as closely
          as possible.
  
      Returns
      -------
      out : Tensor
          tensor of zeros with the same shape and type as `a`.
  
      See Also
      --------
      ones_like : Return an array of ones with shape and type of input.
      empty_like : Return an empty array with shape and type of input.
      zeros : Return a new array setting values to zero.
      ones : Return a new array setting values to one.
      empty : Return a new uninitialized array.
  
      Examples
      --------
      >>> import mars.tensr as mt
      >>> x = mt.arange(6)
      >>> x = x.reshape((2, 3))
      >>> x.execute()
      array([[0, 1, 2],
             [3, 4, 5]])
  
      >>> mt.zeros_like(x).execute()
      array([[0, 0, 0],
             [0, 0, 0]])
  
      >>> y = mt.arange(3, dtype=float)
      >>> y.execute()
      array([ 0.,  1.,  2.])
  
      >>> mt.zeros_like(y).execute()
      array([ 0.,  0.,  0.])
      """
      a = tensor(a)
      tensor_order = get_order(order, a.order)
      gpu = a.op.gpu if gpu is None else gpu
      op = TensorZerosLike(
          dtype=dtype, gpu=gpu, sparse=a.issparse(), order=order
      )
      return op(a, order=tensor_order)
  
imports: import numpy
  from ...None import opcodes
  from ...serialization.serializables import FieldTypes, AnyField, TupleField, KeyField, StringField
  from ...lib import sparse
  from ...lib.sparse.core import get_sparse_module, get_array_module, naked
  from ..array_utils import create_array
  from ..utils import get_order
  from .core import TensorNoInput, TensorLike
  from .array import tensor
label_desc: Use image node_id 2 for calling a global function with example usage: zeros_like(a, dtype, gpu, order) and returns: op