As TraceEnum_ELBO gains functionality, we should describe how to use it.
Note that the gmm tutorial mentions enumeration, but I'd like a tutorial that focuses on the language aspects rather than a single model. We can point the the gmm tutorial and hmm example from the enumeration tutorial.
iarange dependency structure of TraceEnum_ELBOiarange nesting structure in model-side enumerationiarange with an irange (see this comment)with cached_paths() for large graphsChiming in my experience -- I have learned most of what I know about Pyro by working through the realistic examples (e.g. VAE, DMM, AIR, etc.); those are _great_, and that's perhaps the best way for newcomers to dive in. That being said, I had to go through http://pyro.ai/examples/tensor_shapes.html multiple times in order to understand the logic of enumeration, nested iarange, etc.
It would be great to have a formal guide/tutorial on the language aspects, perhaps using abstract graphical models that showcase typical examples of dependency structures (rather than concrete models) to facilitate the discussion.
Anyway, I love where Pyro is headed! it is so liberating to be able to just think about models and worry less about logsumexps!
Most helpful comment
Chiming in my experience -- I have learned most of what I know about Pyro by working through the realistic examples (e.g. VAE, DMM, AIR, etc.); those are _great_, and that's perhaps the best way for newcomers to dive in. That being said, I had to go through http://pyro.ai/examples/tensor_shapes.html multiple times in order to understand the logic of enumeration, nested
iarange, etc.It would be great to have a formal guide/tutorial on the language aspects, perhaps using abstract graphical models that showcase typical examples of dependency structures (rather than concrete models) to facilitate the discussion.
Anyway, I love where Pyro is headed! it is so liberating to be able to just think about models and worry less about logsumexps!