Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting multichain/population-samplers #2717

Closed
3 of 4 tasks
michaelosthege opened this issue Nov 15, 2017 · 1 comment
Closed
3 of 4 tasks

Supporting multichain/population-samplers #2717

michaelosthege opened this issue Nov 15, 2017 · 1 comment

Comments

@michaelosthege
Copy link
Member

michaelosthege commented Nov 15, 2017

Currently, multiple chains run sequentially (sampling.py:434) but multichain-samplers such as DE-MCMC require information from all chains at every iteration.

I am currently trying to analyze what changes would have to be made and how hard it would be:

Requirements & Progress Tracker

  • maintain support for multiple samplers
  • modify the sampling procedure to iterate chains in parallel
  • pass chain points to the astep method of the samplers
  • (optional) track chain potentials (this is currently not known to the sampling iterators)

Right now I am trying to set up some sort of benchmark scenario with the banana distribution.

I have created a benchmark example that compares the effective sample size of different samplers on a correlated bivariate normal distribution.

@michaelosthege
Copy link
Member Author

I am making some progress on my branch: https://github.com/michaelosthege/pymc3

A side note: The njobs/chains arguments of sample() are somewhat unintuitive. Usually I would assume that

  • nchains run on one process
  • each of njobs runs nchains
  • total number of chains would then be njobs * nchains

I'm bringing this up because with population samplers, one would expect all nchains on one process to interact and the njobs as completely independent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants