class_docstr: Stores state needed to perform gradient communication in a lower precision within a communication hook.
  
  Communication hook will cast gradients back to the original
  parameter precision specified by ``parameter_type`` (default: torch.float32).
  Builds on top of the :class:`DefaultState`.
  
  Args:
      parameter_type (torch.dtype): The precision of model's parameters.
      Required for a hook to cast gradients back to a parameter's precision.
class_docstr_tok: ["Stores","state","needed","to","perform","gradient","communication","in","a","lower","precision","within","a","communication","hook",".","Communication","hook","will","cast","gradients","back","to","the","original","parameter","precision","specified","by","``","parameter_type","``","(","default",":","torch.float32",")",".","Builds","on","top","of","the",":","class",":","`","DefaultState","`",".","Args",":","parameter_type","(","torch.dtype",")",":","The","precision","of","model","'s","parameters",".","Required","for","a","hook","to","cast","gradients","back","to","a","parameter","'s","precision","."]
code: def __init__(
      self,
      process_group,
      parameter_type=torch.float32,
  ):
      super().__init__(process_group)
      self.parameter_type = parameter_type
  
file_path: pytorch/torch/distributed/algorithms/_comm_hooks/default_hooks.py
imports: import functools
  import torch
  import torch.distributed
  from typing import Optional
label_desc: Use image node_id 1 to create a new LowPrecisionState object from inherited base classes: DefaultState with example: obj = LowPrecisionState(process_group, parameter_type)