code: def silu(
      x: np.ndarray, /, *, out: Optional[np.ndarray] = None
  ) -> np.ndarray:
      ret = np.asarray(x * (1 / (1 + np.exp(-x))))
      if ivy.exists(out):
          return ivy.inplace_update(out, ret).astype(x.dtype)
      if not ivy.is_array(x):
          return ret
      else:
          return np.asarray(x * (1 / (1 + np.exp(-x)))).astype(x.dtype)
  
file_path: ivy/ivy/functional/backends/numpy/experimental/activations.py
imports: from typing import Optional, Union, Literal
  import numpy
  import ivy
  from ivy.functional.backends.numpy.helpers import _scalar_output_to_0d_array
  from ivy.func_wrapper import with_unsupported_dtypes
  from .None import backend_version
label_desc: Use image node_id 6 for calling a global function with example usage: silu() and returns: ivy, ret, np