Example:
  # Construct a Gaussian copula from a multivariate normal.
  base_dist = MultivariateNormal(
      loc=torch.zeros(2),
      scale_tril=LKJCholesky(2).sample(),
  )
  transform = CumulativeDistributionTransform(Normal(0, 1))
  copula = TransformedDistribution(base_dist, [transform])

class torch.distributions.transforms.ExpTransform(cache_size=0)
Transform via the mapping y = \exp(x).
class torch.distributions.transforms.IndependentTransform(base_transform, reinterpreted_batch_ndims, cache_size=0)
Wrapper around another transform to treat
   "reinterpreted_batch_ndims"-many extra of the right most dimensions
   as dependent. This has no effect on the forward or backward
   transforms, but does sum out "reinterpreted_batch_ndims"-many of
   the rightmost dimensions in "log_abs_det_jacobian()".
Parameters:
      * base_transform ("Transform") -- A base transform.
  * **reinterpreted_batch_ndims** (*int*) -- The number of extra
