Discretization of Continuous Variables in Pymc

The computational backend for pymc is pytensor. You cannot use numpy functions on symbolic PyMC objects, because they aren’t arrays of numerical values, they are symbols representing computation. If you call .eval(), you will execute the computation the node represents, and freeze the result at a constant value. Importantly, if the computation depends on random variables, it will not be updated when new values are drawn.