class_docstr: Internal wrapper around a deepspeed optimizer.
  
  Args:
      optimizer (`torch.optim.optimizer.Optimizer`):
          The optimizer to wrap.
class_docstr_tok: ["Internal","wrapper","around","a","deepspeed","optimizer",".","Args",":","optimizer","(","`","torch.optim.optimizer.Optimizer","`",")",":","The","optimizer","to","wrap","."]
docstr: Whether or not the optimizer step was done, or skipped because of gradient overflow.
docstr_tok: ["Whether","or","not","the","optimizer","step","was","done",",","or","skipped","because","of","gradient","overflow","."]
code: def step_was_skipped(self):
      """Whether or not the optimizer step was done, or skipped because of gradient overflow."""
      if self.__has_overflow__:
          return self.optimizer.overflow
      return False
  
imports: import base64
  import io
  import json
  import os
  from copy import deepcopy
  from ..optimizer import AcceleratedOptimizer
  from ..scheduler import AcceleratedScheduler
label_desc: Use image node_id 4 for calling the DeepSpeedOptimizerWrapper obj's underlying member method code with example usage: obj.step_was_skipped() and returns: False, self