class_docstr: This implements the shape augmentation trick of
  Naesseth, Ruiz, Linderman, Blei (2017) https://arxiv.org/abs/1610.05683
code: def score_parts(self, boosted_x=None):
      if boosted_x is None:
          boosted_x = self._unboost_x_cache[0]
      assert boosted_x is self._unboost_x_cache[0]
      x = self._unboost_x_cache[1]
      _, score_function, _ = self._rejection_gamma.score_parts(x)
      log_prob = self.log_prob(boosted_x)
      return ScoreParts(log_prob, score_function, log_prob)
  
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 4 for calling the ShapeAugmentedGamma obj's underlying member method code with example usage: obj.score_parts(boosted_x) and returns: ScoreParts