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

Feature/issue 2814 warmup auto #729

Open
wants to merge 4 commits into
base: develop
from

Conversation

@bbbales2
Copy link
Member

commented Sep 11, 2019

Submisison Checklist

  • Run tests: ./runCmdStanTests.py src/test
  • Declare copyright holder and open-source license: see below

Summary:

This is the interface component to stan-dev/stan#2814

Intended Effect:

Make the automatically chosen metric work with cmdstan!

How to Verify:

Any model built with this cmdstan can now use the 'auto_e' metric.

./model sample algorithm=hmc metric=auto_e

And that'll run and print some stuff out. Currently your output might look something like this:

Iteration:    1 / 2000 [  0%]  (Warmup)
Iteration:  100 / 2000 [  5%]  (Warmup)
adapt: 99, which: dense, max: 12.7748
adapt: 99, which: diag, max: 999.44
adapt: 149, which: dense, max: 15.916
adapt: 149, which: diag, max: 752.325
Iteration:  200 / 2000 [ 10%]  (Warmup)
adapt: 249, which: dense, max: 11.4019
adapt: 249, which: diag, max: 587.708
Iteration:  300 / 2000 [ 15%]  (Warmup)
Iteration:  400 / 2000 [ 20%]  (Warmup)
adapt: 449, which: dense, max: 12.8718
adapt: 449, which: diag, max: 1072.26
Iteration:  500 / 2000 [ 25%]  (Warmup)
Iteration:  600 / 2000 [ 30%]  (Warmup)
Iteration:  700 / 2000 [ 35%]  (Warmup)
Iteration:  800 / 2000 [ 40%]  (Warmup)
Iteration:  900 / 2000 [ 45%]  (Warmup)
adapt: 949, which: dense, max: 11.2085
adapt: 949, which: diag, max: 1235.64
Iteration: 1000 / 2000 [ 50%]  (Warmup)
Iteration: 1001 / 2000 [ 50%]  (Sampling)
Iteration: 1100 / 2000 [ 55%]  (Sampling)
Iteration: 1200 / 2000 [ 60%]  (Sampling)
Iteration: 1300 / 2000 [ 65%]  (Sampling)
Iteration: 1400 / 2000 [ 70%]  (Sampling)
Iteration: 1500 / 2000 [ 75%]  (Sampling)
Iteration: 1600 / 2000 [ 80%]  (Sampling)
Iteration: 1700 / 2000 [ 85%]  (Sampling)
Iteration: 1800 / 2000 [ 90%]  (Sampling)
Iteration: 1900 / 2000 [ 95%]  (Sampling)
Iteration: 2000 / 2000 [100%]  (Sampling)

The extra output (stuff starting with "adapt") is something I want to talk to the reviewer about (do we need any extra output? Is this the right output). Right now the results of computing the selection criteria from the paper are being printed. Smaller is better, and the adaptation will use for the next sampling stage whichever of the two metrics had a lower value.

Side Effects:

Hopefully none

Documentation:

None yet!

Copyright and Licensing

Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Columbia University

By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

@bbbales2 bbbales2 referenced this pull request Sep 11, 2019
1 of 3 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.