code: def _unscale_grads(self):
      if (
          # Skip the multiplication if it's a no-op (i.e., if _multiply_factor
          # is 1.0). At the same time, we want to avoid the device-to-host
          # transfer by comparing it to 1.0. Since _multiply_factor starts as
          # a Python float, we roughly assume that if it's a tensor then it's
          # probably not =1.0 anymore and we do the multiplication. Otherwise
          # we can safely check the value without a D2H transfer.
          torch.is_tensor(self._multiply_factor)
          or self._multiply_factor != 1.0
      ):
          self.wrapped_optimizer.multiply_grads(self._multiply_factor)
          self._multiply_factor = 1.0
  
imports: from collections import defaultdict
  from itertools import chain
  import torch
  from omegaconf import DictConfig
  from fairseq import optim
  from .dynamic_loss_scaler import DynamicLossScaler
label_desc: Use image node_id 6 for calling the _MemoryEfficientFP16OptimizerMixin obj's underlying member method code with example usage: obj._unscale_grads() without return types