class_docstr: Function profiler object.
  
  This is usually not directly used by users. It's created via
  :func:`profile`, and attached to a decorated
  function object as an attribute ``profiler``. See ``profile`` function for
  details.
docstr: Manually print profiling result.
  
  Args:
      reset (bool): If False is specified, the profiling statistics so
          far is maintained. If ``True`` (default),
          :obj:`~reset_stats`
          is called to reset the profiling statistics.
code: def print_stats(self, reset=True):
      """Manually print profiling result.
  
      Args:
          reset (bool): If False is specified, the profiling statistics so
              far is maintained. If ``True`` (default),
              :obj:`~reset_stats`
              is called to reset the profiling statistics.
  
      """
      if not self.ncalls:
          return
  
      stats = self.stats
      code = self.fn.__code__
      print("--- Function Profiling ---")
      print(
          'File "{}", line {}, function {}'.format(
              code.co_filename, code.co_firstlineno, self.fn.__name__
          )
      )
      stats.sort_stats(*self.sort_keys)
      stats.print_stats(*self.print_restrictions)
      print("--------------------------")
      if reset:
          self.reset_stats()
  
file_path: nnabla/python/src/nnabla/utils/function_profile.py
imports: import atexit
  import cProfile
  import pstats
label_desc: Use image node_id 4 for calling the FunctionProfile obj's underlying member method code with example usage: obj.print_stats(reset) without return types