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

No U-Turn Sampler #541

Open
dustinvtran opened this issue Mar 13, 2017 · 11 comments
Open

No U-Turn Sampler #541

dustinvtran opened this issue Mar 13, 2017 · 11 comments

Comments

@dustinvtran
Copy link
Member

dustinvtran commented Mar 13, 2017

Also see http://discuss.edwardlib.org/t/any-plans-for-nuts/.

References

@korkinof
Copy link

I will eventually give it a try to implement this.
If anyone else wants to do this in the meantime, just give a shout here!

@ssequeira
Copy link

I'd be happy to try my hand at this.

@emilemathieu
Copy link
Contributor

Hi !
I created a PR #728 with the implementation of the Dual Averaging algorithm for adapting the step size of HMC, which is a first step to implement NUTS.

@Razcle
Copy link

Razcle commented Feb 21, 2018

Hi I wondered if there was any update to this? I think there's probably a fair bit of demand for this feature and if help is required, I'd like to chip in.

@dustinvtran
Copy link
Member Author

No need to put effort into. @axch has been working on this. Maybe he can reply on when something public-facing may appear in TF?

@axch
Copy link
Collaborator

axch commented Feb 25, 2018

Don't know about time lines, exactly, but work is proceeding.

@axch
Copy link
Collaborator

axch commented Feb 25, 2018

Actually, @dustinvtran, can you assign me this github issue (or give me sufficient permissions to assign it to myself)?

@dustinvtran
Copy link
Member Author

dustinvtran commented Feb 25, 2018

Gave you permission. Looks like you need to accept before assignments are available.

FYI, if I recall correctly, @axch has mostly been working on the adaptive path length. For reference, it could be useful to look at @emilemathieu's implementation of the adaptive step size in #728.

@axch axch self-assigned this Feb 27, 2018
@axch
Copy link
Collaborator

axch commented Sep 25, 2018

As an update, there is now a draft barebones NUTS implementation in TensorFlow Probability, at https://github.com/tensorflow/probability/tree/master/experimental/no_u_turn_sampler. This implementation is expected to be compatible with Edward2. See also the associated TFP issues tensorflow/probability#125, tensorflow/probability#126, tensorflow/probability#142, and tensorflow/probability#143.

@axch
Copy link
Collaborator

axch commented Jun 4, 2019

TFP now has a batch NUTS (path length adaptation, haven't tested step size adaptation yet but don't anticipate excessive problems) here: https://github.com/tensorflow/probability/blob/master/tensorflow_probability/python/experimental/mcmc/nuts.py.

@axch axch removed their assignment Jun 4, 2019
@junpenglao
Copy link

NUTS sampler with multinominal sampling is currently on master: tensorflow/probability@e57eba6

You can have a look at this end2end test of how to do sampling with dualaveraging step size adaptation: https://github.com/tensorflow/probability/blob/e57eba6c0ff15b2c94e0d802115641683206c38a/tensorflow_probability/python/mcmc/nuts_test.py#L284-L381

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

7 participants