code: def __init__(
      self,
      optimizer,
      progress_rule="norm-based",
      theta=0.9,
      monotone=False,
      min_sample_guard=2,
      max_sample_guard=128,
  ):
      super().__init__(optimizer)
  
      self.progress_rule = progress_rule
      self.theta = theta
      self.monotone = monotone
  
      self.min_sample_guard = min_sample_guard
      self.max_sample_guard = max_sample_guard
  
      self.progress_state = defaultdict(dict)
      self.accumulated_steps = 0
      self.reset_sample_statistics()
  
file_path: bert-ultrafast/training/cramming/backend/optimizers/progressive_batching.py
imports: import torch
  from collections import defaultdict
  from .optimizer_modifiers import MetaOptimizer
  import logging
label_desc: Use image node_id 1 to create a new ProgressiveBatching object from inherited base classes: MetaOptimizer with example: obj = ProgressiveBatching(optimizer, progress_rule, theta, monotone, min_sample_guard, max_sample_guard)