code: def __init__(
      self,
      optimizer,
      clip_grad,
      log_num_zeros_in_grad,
      check_for_nan_in_grad,
      params_have_main_grad,
      models,
  ):
      super(FP32Optimizer, self).__init__(
          optimizer,
          clip_grad,
          log_num_zeros_in_grad,
          check_for_nan_in_grad,
          params_have_main_grad,
          models,
      )
  
      self._scale = torch.tensor(
          [1.0], dtype=torch.float, device="cuda"
      )
  
imports: from abc import ABC
  from abc import abstractmethod
  from apex.multi_tensor_apply import multi_tensor_applier
  import amp_C
  import torch
  from megatron import get_timers
  from megatron import print_rank_0
  from megatron.core import mpu, tensor_parallel
  from megatron.model import Float16Module
  from megatron.model.module import param_is_not_shared
  from .clip_grads import clip_grad_norm_fp32, count_zeros_fp32
label_desc: Use image node_id 1 to create a new FP32Optimizer object from inherited base classes: MegatronOptimizer with example: obj = FP32Optimizer(optimizer, clip_grad, log_num_zeros_in_grad, check_for_nan_in_grad, params_have_main_grad, models)