class_docstr: This class mirrors deepspeed functionality. Not all changes are implemented in this version.
  
  See TorchEngineFull for more modifications.
class_docstr_tok: ["This","class","mirrors","deepspeed","functionality",".","Not","all","changes","are","implemented","in","this","version",".","See","TorchEngineFull","for","more","modifications","."]
code: def retrieve_model_state_dict(self):
      if self.weight_averaging_frequency > 0:
          # Use weight averaged weights
          for param, param_ma in zip(
              self.model.parameters(), self.param_store
          ):
              param.copy_(param_ma.data)
          for buffer, buffer_ma in zip(
              self.model.buffers(), self.buffer_store
          ):
              buffer.copy_(buffer_ma.data)
          return self.model.state_dict()
      else:
          # Else use normal state dict
          return self.model.state_dict()
  
imports: import torch
  import torch._inductor.utils
  import os
  import json
  from omegaconf import OmegaConf
  from functools import partial
  from contextlib import nullcontext
  import time
  import logging
  import transformers
  from safetensors.torch import load_file, save_file
  from transformers.utils.generic import working_or_temp_dir
  from torch.distributed.optim import ZeroRedundancyOptimizer
  from .utils import group_parameters, prepare_pretraining_dataloader, update_ema, updated_latest_weight_average
  from .optimizers.schedulers import get_schedule_fn
  from .optimizers import Adahessian, AdamWScale, Shampoo, LARS, SAM, ProgressiveBatching, AGD, Sophia
  import warnings
label_desc: Use image node_id 8 for calling the TorchEngineFull obj's underlying member method code with example usage: obj.retrieve_model_state_dict() and returns: self, self