• Stars
    star
    714
  • Rank 61,786 (Top 2 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Experimental PyMC interface for TensorFlow Probability. Official work on this project has been discontinued.

NOTICE: Official development of this project has ceased, and it is no longer intended to become the next major version of PyMC. Ongoing development will continue on the main PyMC repository.

See the announcement for more details on the future of PyMC and Theano.

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!

More Repositories

1

pymc

Bayesian Modeling and Probabilistic Programming in Python
Python
8,115
star
2

pymc-resources

PyMC educational resources
Jupyter Notebook
1,875
star
3

pymc2

THIS IS THE **OLD** PYMC PROJECT (VERSION 2). PLEASE USE PYMC INSTEAD:
Fortran
879
star
4

pymc-examples

Examples of PyMC models, including a library of Jupyter notebooks.
Python
254
star
5

pytensor

PyTensor allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays.
Python
238
star
6

sunode

Solve ODEs fast, with support for PyMC
Jupyter Notebook
96
star
7

nutpie

Python wrapper for nuts-rs
Jupyter Notebook
89
star
8

pymc-bart

Python
74
star
9

pymc-experimental

Jupyter Notebook
66
star
10

symbolic-pymc

Tools for the symbolic manipulation of PyMC models, Theano, and TensorFlow graphs.
Python
60
star
11

nuts-rs

A implementation of NUTS in rust
Rust
53
star
12

uq_chapter

Uncertainty quantification book chapter
CSS
50
star
13

pymc4_prototypes

Experimental code for porting PyMC to alternative backends
Jupyter Notebook
26
star
14

pymc-data-umbrella

Website: Data Umbrella & PyMC open source sessions
Jupyter Notebook
24
star
15

mcbackend

A backend for storing MCMC draws.
Python
14
star
16

pymc.io

PyMC project website and blog!
Jupyter Notebook
13
star
17

video-timestamps

Crowd sourced timestamps for PyMC Youtube videos
6
star
18

pymcon

Website for PyMCon
HTML
5
star
19

pymcon_web_series_website

HTML
5
star
20

pymc_workflow_analyzer

Python
3
star
21

pymc3-experimental

PyMC3 experimental features not ready to be included in PyMC3 (yet)
Python
3
star
22

brand

Branding resources, logos
2
star
23

paper_v5

Jupyter Notebook
2
star
24

pymc-doc

JavaScript
2
star
25

PyMC.tmbundle

TextMate bundle for PyMC
1
star
26

communication

1
star
27

pymc-sphinx-theme

A thin sphinx theme to customize pydata-sphinx-theme consistently cross PyMC websites.
HTML
1
star
28

design-notes

1
star