code: def standard_exponential(
      random_state, size=None, chunk_size=None, gpu=None, dtype=None
  ):
      """
      Draw samples from the standard exponential distribution.
  
      `standard_exponential` is identical to the exponential distribution
      with a scale parameter of 1.
  
      Parameters
      ----------
      size : int or tuple of ints, optional
          Output shape.  If the given shape is, e.g., ``(m, n, k)``, then
          ``m * n * k`` samples are drawn.  Default is None, in which case a
          single value is returned.
      chunk_size : int or tuple of int or tuple of ints, optional
          Desired chunk size on each dimension
      gpu : bool, optional
          Allocate the tensor on GPU if True, False as default
      dtype : data-type, optional
        Data-type of the returned tensor.
  
      Returns
      -------
      out : float or Tensor
          Drawn samples.
  
      Examples
      --------
      Output a 3x8000 tensor:
  
      >>> import mars.tensor as mt
      >>> n = mt.random.standard_exponential((3, 8000))
      """
      if dtype is None:
          dtype = (
              np.random.RandomState()
              .standard_exponential(size=(0,))
              .dtype
          )
      size = random_state._handle_size(size)
      seed = gen_random_seeds(1, random_state.to_numpy())[0]
      op = TensorStandardExponential(
          size=size, seed=seed, gpu=gpu, dtype=dtype
      )
      return op(chunk_size=chunk_size)
  
file_path: mars/mars/tensor/random/standard_exponential.py
imports: import numpy
  from ...None import opcodes
  from ..utils import gen_random_seeds
  from .core import TensorRandomOperandMixin, TensorDistribution
label_desc: Use image node_id 1 for calling a global function with example usage: standard_exponential(random_state, size, chunk_size, gpu, dtype) and returns: op