Some notes on shape handling

Hi everyone, I’ve been writing some notes on how pymc3 handles RV and distribution shapes, and how this brings many implicit assumptions to the model’s construction.

Shape errors are very widespread in PPLs and in pymc3 in particular, and there’s a very big documentation gap on the subject. I wanted to try to write something that covers the basics and common problems that any pymc3 user could face. I plan to follow up on this post with another one with common shape errors that may go unnoticed when a model is defined.