class_docstr: Abstract base class for reparametrizer configuration strategies.
  
  Derived classes must implement the :meth:`configure` method.
  
  :ivar dict config: A dictionary configuration. This will be populated the
      first time the model is run. Thereafter it can be used as an argument
      to ``poutine.reparam(config=___)``.
class_docstr_tok: ["Abstract","base","class","for","reparametrizer","configuration","strategies",".","Derived","classes","must","implement","the",":","meth",":","`","configure","`","method",".",":","ivar","dict","config",":","A","dictionary","configuration",".","This","will","be","populated","the","first","time","the","model","is","run",".","Thereafter","it","can","be","used","as","an","argument","to","``","poutine.reparam","(","config=___",")","``","."]
code: def __init__(self):
      # TODO(#2831) Make this a torch.nn.ModuleDict.
      self.config: Dict[str, Optional[Reparam]] = {}
      super().__init__()
  
imports: from abc import ABC, abstractmethod
  from typing import Callable, Dict, Optional, Union
  import torch
  from torch.distributions import constraints
  import pyro.distributions
  import pyro.poutine
  from .loc_scale import LocScaleReparam
  from .projected_normal import ProjectedNormalReparam
  from .reparam import Reparam
  from .softmax import GumbelSoftmaxReparam
  from .stable import LatentStableReparam, StableReparam, SymmetricStableReparam
  from .transform import TransformReparam
label_desc: Use image node_id 1 to create a new Strategy object from inherited base classes: ABC with example: obj = Strategy()