code: def func(
      name=None,
      *,
      is_silent: bool = False,
      is_timed: bool = True,
      is_partial: bool = False,
      is_new_line: bool = True,
      is_children_silent: bool = False,
      is_track: bool = False,
      is_not_in_loop: bool = False,
      total_steps: float = 1.0,
  ):
      """
      This is similar to :func:`section` but can be used as a decorator.
  
      Arguments:
          name (str): Name of the function
  
      Keyword Arguments:
          is_silent (bool, optional): Whether not to print time taken. Defaults to ``False``.
          is_timed (bool, optional): Whether to measure time. Default to ``True``.
          is_partial (bool, optional): Whether it's a partial execution where it gets called
              repeatedly. Defaults to ``False``.
          is_new_line (bool, optional): Whether to print a new line. Defaults to ``True``.
          is_children_silent (bool, optional): Whether to make child sections silent.
              Defaults to ``True``.
          is_track (bool, optional): Whether to track the time.
              Defaults to ``False``.
          is_not_in_loop (bool, optional): Whether to forcefully track this outside :func:`loop`.
              Defaults to ``False``.
          total_steps (float, optional): Total number of steps. This is used to measure progress when
              :func:`progress` gets called. Defaults to ``1``.
      """
  
      if name is None:
          name = "Function"
  
      def decorator_func(f: Callable):
          @functools.wraps(f)
          def wrapper(*args, **kwargs):
              with section(
                  name,
                  is_silent=is_silent,
                  is_timed=is_timed,
                  is_partial=is_partial,
                  is_new_line=is_new_line,
                  is_children_silent=is_children_silent,
                  is_track=is_track,
                  is_not_in_loop=is_not_in_loop,
                  total_steps=total_steps,
              ):
                  return f(*args, **kwargs)
  
          return wrapper
  
      return decorator_func
  
imports: import functools
  from typing import Iterable, Sized, Collection, Callable, Tuple, Any, Dict
  from typing import Union, Optional, overload
  from labml.internal.monitor import TimeSummary
  from labml.internal.monitor import monitor_singleton
label_desc: Use image node_id 2 for calling a global function with example usage: func(name) and returns: decorator_func, wrapper, f