I saw that in addition to discrete latent variables, Pyro also allows you to specify that a variable is distributed as a mixture of distributions, for certain distributions (e.g.
MixtureOfDiagNormals.) On the other hand, I get a
NotImplementedError whenever I try to give a latent variable this distribution.
My guess is that since there is an correspondence between (i) latent variables that have a mixture distribution, and (ii) compositions of a discrete + continuous latent variables, and since I am using SVI, this is Pyro telling me to use (ii) and
TraceEnum_ELBO. I get the same error for NUTS+MCMC.
If the above logic is correct, my question is: is there a use case for
MixtureOfDiagNormals (and the mixture distributions in
pyro.distributions) that is not covered by discrete latent variables?