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

EMAUS (Ensemble Microcanonical Adjusted-Unadjusted Sampler) #766

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

reubenharry
Copy link
Contributor

@reubenharry reubenharry commented Jan 16, 2025

This is in essence a tuning scheme for running multiple chains in parallel (ensemble). The key trick is to use MCLMC without MH (i.e. unadjusted) first in order to very quickly find the typical set, and then to use MH for the steps you actually count. The details are in how to decide when to switch between these two phases, and how to tune the hyperparameters using estimates from the ensemble of chains.

The upshot is that the method is fast, even compared to other ensemble methods: sampling book: TODO

Changes:

  • a new ensemble_mclmc: this consists of two files, both in the adaptation folder
  • util.py: some general purpose helper functions. I think these could be cleaner

A few important guidelines and requirements before we can merge your PR:

  • We should be able to understand what the PR does from its title only;
  • There is a high-level description of the changes;
  • There are links to all the relevant issues, discussions and PRs;
  • The branch is rebased on the latest main commit;
  • Commit messages follow these guidelines;
  • The code respects the current naming conventions;
  • Docstrings follow the numpy style guide
  • pre-commit is installed and configured on your machine, and you ran it before opening the PR;
  • There are tests covering the changes;
  • The doc is up-to-date;
  • If I add a new sampler* I added/updated related examples

Consider opening a Draft PR if your work is still in progress but you would like some feedback from other contributors.

@reubenharry reubenharry marked this pull request as ready for review February 6, 2025 23:18
@reubenharry reubenharry marked this pull request as draft February 6, 2025 23:18
@reubenharry reubenharry marked this pull request as ready for review February 6, 2025 23:20
@reubenharry
Copy link
Contributor Author

I unmarked this as a draft, even though there's still some rough edges, just in case @junpenglao or anyone else wanted to give high level feedback over the main changes (e.g. should I rearrange the files and put everything in one file, etc).

I see I have also somehow added spaces to a bunch of files, not sure how this happened or how to fix...

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

Successfully merging this pull request may close these issues.

1 participant