code: def __init__(self, rate, factor):
      assert (factor <= 1).all()
      self.rate, self.factor = broadcast_all(rate, factor)
      propose = Exponential(self.factor * self.rate)
      log_scale = self.factor.log()
      super().__init__(propose, self.log_prob_accept, log_scale)
  
file_path: pyro/pyro/distributions/testing/rejection_exponential.py
imports: import torch
  from torch.distributions.utils import broadcast_all
  import pyro.distributions.constraints
  from pyro.distributions.rejector import Rejector
  from pyro.distributions.torch import Exponential
  from pyro.distributions.util import copy_docs_from, weakmethod
label_desc: Use image node_id 1 to create a new RejectionExponential object from inherited base classes: Rejector with example: obj = RejectionExponential(rate, factor)