class_docstr: Minimal reparametrization strategy that reparametrizes only those sites
  that would otherwise lead to error, e.g.
  :class:`~pyro.distributions.Stable` and
  :class:`~pyro.distributions.ProjectedNormal` random variables.
  
  Example::
  
      @MinimalReparam()
      def model(...):
          ...
  
  which is equivalent to::
  
      @poutine.reparam(config=MinimalReparam())
      def model(...):
          ...
class_docstr_tok: ["Minimal","reparametrization","strategy","that","reparametrizes","only","those","sites","that","would","otherwise","lead","to","error",",","e.g",".",":","class",":","`","~pyro.distributions.Stable","`","and",":","class",":","`","~pyro.distributions.ProjectedNormal","`","random","variables",".","Example",":",":","@","MinimalReparam","(",")","def","model","(","...",")",":","...","which","is","equivalent","to",":",":","@","poutine.reparam","(","config=MinimalReparam","(",")",")","def","model","(","...",")",":","..."]
code: def configure(self, msg: dict) -> Optional[Reparam]:
      return _minimal_reparam(msg["fn"], msg["is_observed"])
  
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 for calling the MinimalReparam obj's underlying member method code with example usage: obj.configure(msg) and returns: _minimal_reparam