code: def full_like(a, fill_value, dtype=None, gpu=None, order="K"):
      """
      Return a full tensor 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 tensor.
      fill_value : scalar
          Fill value.
      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 `fill_value` with the same shape and type as `a`.
  
      See Also
      --------
      empty_like : Return an empty tensor with shape and type of input.
      ones_like : Return a tensor of ones with shape and type of input.
      zeros_like : Return a tensor of zeros with shape and type of input.
      full : Return a new tensor of given shape filled with value.
  
      Examples
      --------
      >>> import mars.tensor as mt
      >>> x = mt.arange(6, dtype=int)
      >>> mt.full_like(x, 1).execute()
      array([1, 1, 1, 1, 1, 1])
      >>> mt.full_like(x, 0.1).execute()
      array([0, 0, 0, 0, 0, 0])
      >>> mt.full_like(x, 0.1, dtype=mt.double).execute()
      array([ 0.1,  0.1,  0.1,  0.1,  0.1,  0.1])
      >>> mt.full_like(x, mt.nan, dtype=mt.double).execute()
      array([ nan,  nan,  nan,  nan,  nan,  nan])
  
      >>> y = mt.arange(6, dtype=mt.double)
      >>> mt.full_like(y, 0.1).execute()
      array([ 0.1,  0.1,  0.1,  0.1,  0.1,  0.1])
  
      """
      a = tensor(a)
      tensor_order = get_order(order, a.order)
      if dtype is None:
          dtype = a.dtype
      gpu = a.op.gpu if gpu is None else gpu
      op = TensorFullLike(
          fill_value=fill_value,
          dtype=dtype,
          gpu=gpu,
          sparse=a.issparse(),
      )
      return op(a, order=tensor_order)
  
imports: import numpy
  from ...None import opcodes
  from ...serialization.serializables import AnyField, StringField, KeyField
  from ...lib.sparse.core import get_sparse_module, get_array_module, naked
  from ...lib.sparse import SparseNDArray
  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: full_like(a, fill_value, dtype, gpu, order) and returns: op