class_docstr: Synchronizer.
  
  Given a variable, can modify the TF Graph to synchronize its
  gradients in either an in-graph or a between-graph fashion.
  
  - In-graph means the synchronization happens in one `tf.Graph`
  - Between-graph means the synchronization happens across
      multiple `tf.Graphs` (e.g., each worker has its own graph)
docstr: Create new Synchronizer instance given subclass name.
  
  Args:
      name: Name of the Synchronizer subclass (e.g. PSSynchronizer).
      *args: Any args for the subclass constructor.
      **kwargs: Any kwargs for the subclass constructor.
  
  Returns:
      Synchronizer
docstr_tok: ["Create","new","Synchronizer","instance","given","subclass","name",".","Args",":","name",":","Name","of","the","Synchronizer","subclass","(","e.g",".","PSSynchronizer",")",".","*","args",":","Any","args","for","the","subclass","constructor",".","*","*","kwargs",":","Any","kwargs","for","the","subclass","constructor",".","Returns",":","Synchronizer"]
code: def create(cls, name, *args, **kwargs):
      """
      Create new Synchronizer instance given subclass name.
  
      Args:
          name: Name of the Synchronizer subclass (e.g. PSSynchronizer).
          *args: Any args for the subclass constructor.
          **kwargs: Any kwargs for the subclass constructor.
  
      Returns:
          Synchronizer
      """
      subclass = next(
          subclass
          for subclass in cls.__subclasses__()
          if subclass.__name__ == name
      )
      return subclass(*args, **kwargs)
  
file_path: autodist/autodist/kernel/synchronization/synchronizer.py
imports: from abc import ABC, abstractmethod
  from tensorflow.python import ops
  from autodist.kernel.common.utils import get_op_name, update_consumers, update_control_consumers, replica_prefix, strip_replica_prefix, get_index_from_tensor_name
label_desc: Use image node_id 5 for calling the Synchronizer obj's underlying member method code with example usage: obj.create(cls, name) and returns: subclass