class_docstr: This implements the shape augmentation trick of
  Naesseth, Ruiz, Linderman, Blei (2017) https://arxiv.org/abs/1610.05683
code: def __init__(self, concentration, rate, boost=1, validate_args=None):
      if concentration.min() + boost < 1:
          raise ValueError(
              "Need to boost at least once for concentration < 1"
          )
      super().__init__(concentration, rate, validate_args=validate_args)
      self.concentration = concentration
      self._boost = boost
      self._rejection_gamma = RejectionGamma(
          concentration + boost, rate
      )
      self._unboost_x_cache = None, None
  
imports: import torch
  from pyro.distributions.rejector import Rejector
  from pyro.distributions.score_parts import ScoreParts
  from pyro.distributions.torch import Beta, Dirichlet, Gamma, Normal
  from pyro.distributions.util import copy_docs_from, weakmethod
label_desc: Use image node_id 1 to create a new ShapeAugmentedGamma object from inherited base classes: Gamma with example: obj = ShapeAugmentedGamma(concentration, rate, boost, validate_args)