class_docstr: Hook used to trigger the profiling features of VISSL
docstr: Handle the runtime profiling logic:
  - enabling / disabling the tracker depending on the iteration
  - dumping the statistics when profiling ends
code: def _runtime_tracking(self, iteration: int, task: "tasks.ClassyTask"):
      """
      Handle the runtime profiling logic:
      - enabling / disabling the tracker depending on the iteration
      - dumping the statistics when profiling ends
      """
      next_iteration = iteration + 1
      self.runtime_profiler.step()
      if next_iteration == self.end_iteration:
          self._dump_runtime_profiling_results(stop_profiler=True)
  
imports: import logging
  import os
  import torch
  import torch.nn
  from classy_vision import tasks
  from classy_vision.hooks.classy_hook import ClassyHook
  from fairscale.nn import FullyShardedDataParallel
  from fairscale.nn.misc import FlattenParamsWrapper
  from torch.nn import SyncBatchNorm
  from vissl.config.attr_dict import AttrDict
  from vissl.utils.env import get_machine_local_and_dist_rank
  from vissl.utils.layer_memory_tracking import LayerwiseMemoryTracker
  from vissl.utils.profiler import create_runtime_profiler
label_desc: Use image node_id 7 for calling the ProfilingHook obj's underlying member method code with example usage: obj._runtime_tracking(iteration, task) without return types