


mix = D.Categorical(torch.ones(5,))
      >>> comp = D.Normal(torch.randn(5,), torch.rand(5,))
      >>> gmm = MixtureSameFamily(mix, comp)



  >>> # Construct Gaussian Mixture Modle in 2D consisting of 5 equally
  >>> # weighted bivariate normal distributions
  >>> mix = D.Categorical(torch.ones(5,))
  >>> comp = D.Independent(D.Normal(
  ...          torch.randn(5,2), torch.rand(5,2)), 1)
  >>> gmm = MixtureSameFamily(mix, comp)

  >>> # Construct a batch of 3 Gaussian Mixture Models in 2D each
  >>> # consisting of 5 random weighted bivariate normal distributions
  >>> mix = D.Categorical(torch.rand(3,5))
  >>> comp = D.Independent(D.Normal(
  ...         torch.randn(3,5,2), torch.rand(3,5,2)), 1)
  >>> gmm = MixtureSameFamily(mix, comp)

Parameters:
      * mixture_distribution --
        torch.distributions.Categorical-like instance. Manages the
        probability of selecting component. The number of categories