code: def bernoulli(
      probs: Union[float, ivy.Array, ivy.NativeArray],
      *,
      logits: Optional[Union[float, ivy.Array, ivy.NativeArray]] = None,
      shape: Optional[Union[ivy.Shape, ivy.NativeShape]] = None,
      device: Optional[Union[ivy.Device, ivy.NativeDevice]] = None,
      dtype: Optional[Union[ivy.Dtype, ivy.NativeDtype]] = None,
      seed: Optional[int] = None,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Draws samples from Bernoulli distribution parameterized by probs or
      logits (but not both)
  
      Parameters
      ----------
      logits
          An N-D Array representing the log-odds of a 1 event.
          Each entry in the Array parameterizes an independent Bernoulli
          distribution where the probability of an event is sigmoid
          (logits). Only one of logits or probs should be passed in.
      probs
          An N-D Array representing the probability of a 1 event.
          Each entry in the Array parameterizes an independent Bernoulli
          distribution. Only one of logits or probs should be passed in
      shape
          If the given shape is, e.g '(m, n, k)', then 'm * n * k' samples are drawn.
          (Default value = 'None', where 'ivy.shape(logits)' samples are drawn)
      device
          device on which to create the array 'cuda:0', 'cuda:1', 'cpu' etc.
          (Default value = None).
      dtype
          output array data type. If ``dtype`` is ``None``, the output array data
          type will be the default floating-point data type. Default ``None``
      seed
          A python integer. Used to create a random seed distribution
      out
          optional output array, for writing the result to. It must have a shape that the
          inputs broadcast to.
  
      Returns
      -------
      ret
          Drawn samples from the Bernoulli distribution
      """
      return ivy.current_backend(probs).bernoulli(
          probs,
          logits=logits,
          shape=shape,
          device=device,
          dtype=dtype,
          seed=seed,
          out=out,
      )
  
file_path: ivy/ivy/functional/ivy/experimental/random.py
imports: from typing import Optional, Union, Sequence
  import ivy
  from ivy.func_wrapper import handle_out_argument, to_native_arrays_and_back, inputs_to_native_shapes, handle_nestable, infer_dtype, handle_device, handle_backend_invalid
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 5 for calling a global function with example usage: bernoulli(probs) and returns: ivy