code: def _init_pytorch_grad_scaler(self):
      assert is_fairscale_sharded_available(), (
          "To use FSDP with PyTorch AMP, ShardedGradScaler() "
          "from fairscale is needed. Please upgrade fairscale"
      )
      from fairscale.optim.grad_scaler import ShardedGradScaler
  
      self.amp_grad_scaler = ShardedGradScaler()
      logging.info("Setting AMP: using ShardedGradScaler")
  
file_path: vissl/vissl/trainer/train_fsdp_task.py
imports: import logging
  from classy_vision.generic.distributed_util import get_cuda_device_index, is_distributed_training_run
  from classy_vision.tasks import register_task
  from fairscale.nn.data_parallel import FullyShardedDataParallel
  from vissl.config import AttrDict
  from vissl.trainer.train_task import SelfSupervisionTask
  from vissl.utils.fsdp_utils import fsdp_wrapper, is_valid_fsdp_model
  from vissl.utils.misc import is_fairscale_sharded_available
label_desc: Use image node_id 2 for calling the SelfSupervisionFSDPTask obj's underlying member method code with example usage: obj._init_pytorch_grad_scaler() without return types