Skip to content
forked from aseyboldt/pymc4

Pre-release development of high-level probabilistic programming interface for TensorFlow

License

Notifications You must be signed in to change notification settings

fonnesbeck/pymc4

 
 

Repository files navigation

PyMC4 (Pre-release)

Build Status Coverage Status

High-level interface to TensorFlow Probability. Do not use for anything serious.

What works?

  • Build most models you could build with PyMC3
  • Sample using NUTS, all in TF, fully vectorized across chains (multiple chains basically become free)
  • Automatic transforms of model to the real line
  • Prior and posterior predictive sampling
  • Deterministic variables
  • Trace that can be passed to ArviZ

However, expect things to break or change without warning.

See here for an example: https://github.com/pymc-devs/pymc4/blob/master/notebooks/radon_hierarchical.ipynb See here for the design document: https://github.com/pymc-devs/pymc4/blob/master/notebooks/pymc4_design_guide.ipynb

Develop

One easy way of developing on PyMC4 is to take advantage of the development containers! Using pre-built development environments allows you to develop on PyMC4 without needing to set up locally.

To use the dev containers, you will need to have Docker and VSCode running locally on your machine, and will need the VSCode Remote extension (ms-vscode-remote.vscode-remote-extensionpack).

Once you have done that, to develop on PyMC4, on GitHub:

  1. Make a fork of the repository
  2. Create a new branch inside your fork
  3. Copy the branch URL

Now, in VSCode:

  1. In the command palette, search for "Remote-Containers: Open Repository in Container...".
  2. Paste in the branch URL
  3. If prompted, create it in a "Unique Volume".

Happy hacking away! Because the repo will be cloned into an ephemeral repo, don't forget to commit your changes and push them to your branch! Then follow the usual pull request workflow back into PyMC4.

We hope you enjoy the time saved on setting up your development environment!

About

Pre-release development of high-level probabilistic programming interface for TensorFlow

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 97.9%
  • Python 2.1%