class_docstr: The user-facing class that provides metric storage functionalities.
  
  In the future we may add support for storing / logging other types of data if needed.
docstr: User should either: (1) Call this function to increment storage.iter when needed. Or
  (2) Set `storage.iter` to the correct iteration number before each iteration.
  
  The storage will then be able to associate the new data with an iteration number.
docstr_tok: ["User","should","either",":","(","1",")","Call","this","function","to","increment","storage.iter","when","needed",".","Or","(","2",")","Set","`","storage.iter","`","to","the","correct","iteration","number","before","each","iteration",".","The","storage","will","then","be","able","to","associate","the","new","data","with","an","iteration","number","."]
code: def step(self):
      """
      User should either: (1) Call this function to increment storage.iter when needed. Or
      (2) Set `storage.iter` to the correct iteration number before each iteration.
  
      The storage will then be able to associate the new data with an iteration number.
      """
      self._iter += 1
  
imports: import datetime
  import json
  import logging
  import os
  import time
  from collections import defaultdict
  from contextlib import contextmanager
  from functools import cached_property
  from typing import Optional
  import torch
  from fvcore.common.history_buffer import HistoryBuffer
  from detectron2.utils.file_io import PathManager
label_desc: Use image node_id 12 for calling the EventStorage obj's underlying member method code with example usage: obj.step() without return types