Tools for the symbolic manipulation of PyMC models, Theano, and TensorFlow graphs.
Symbolic PyMC provides tools for the symbolic manipulation of PyMC models and their underlying computational graphs in Theano and TensorFlow. It enables graph manipulations in the relational DSL miniKanren—via the miniKanren
package—by way of meta classes and S-expression forms of a graph.
This work stems from a series of articles starting here. Documentation and examples for Symbolic PyMC are available here.
This package is currently in alpha, so expect large-scale changes at any time!
The package name is symbolic_pymc
and it can be installed with pip
directly from GitHub
$ pip install git+https://github.com/pymc-devs/symbolic-pymc
or after cloning the repo (and then installing with pip
).
Op
for representing random variablesX
is a normal scale mixture with mixing distribution Y
", and automatically "solve" for components (i.e. X
and Y
) that satisfy a relation