documentationhelp wantedusability
Description
Hi!
As discussed here https://forum.pyro.ai/t/more-doubts-on-masking-runnable-example/5044/6 and here https://forum.pyro.ai/t/vae-classification/5017/10, things might not be very clear on when and how to use the different masking options. Especially in defining differences in masking usage on the model vs guide. Or masking with enumeration
- Explain the practical differences between all the masking options (poutine.mask, obs_mask, mask())
- Usage example with VAE model-guide architecture (supervised, semi-supervised, unsupervised approaches)
- How to use masks when there are event vs batch shapes
- Usage with enumeration
- Nested masks
- Meaning of the "mask" in the trace. Why when i) using the context manager poutine.mask it shows under the "mask" in the trace the used mask tensor and when ii) using .mask() or obs_mask the "mask" of the trace shows "None".
Thanks! :)