code: def normal(label: str, mu: float, sigma: float) -> Numerical:
      """Declare a normal distribution with mean ``mu`` and standard deviation ``sigma``.
  
      The variable is unbounded, meaning that any real number from ``-inf`` to ``+inf`` can be possibly sampled.
  
      Examples
      --------
      >>> nni.normal('x', 0, 1)
      Numerical(-inf, inf, mu=0, sigma=1, label='x')
      >>> nni.normal('x', 0, 1).random()
      -0.30621273862239057
      """
      if sigma <= 0:
          raise ValueError(
              "Standard deviation must be strictly greater than 0."
          )
  
      return Numerical(mu=mu, sigma=sigma, label=label)
  
file_path: nni/nni/mutable/shortcut.py
imports: from __future__ import annotations
  import logging
  from typing import TYPE_CHECKING, TypeVar, overload, List, cast
  from .mutable import Categorical, Numerical
label_desc: Use image node_id 8 for calling a global function with example usage: normal(label, mu, sigma) and returns: Numerical