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

[WIP] Implementation of low-rank ADVI #2751

Closed
wants to merge 1 commit into from

Conversation

wjn0
Copy link

@wjn0 wjn0 commented Apr 20, 2019

Submission Checklist

  • Write stan::variational::normal_lowrank: implement entropy, calc_grad, etc.
  • Implement sampling and other required functions
  • Add remaining boilerplate unit tests to src/test/unit/variational/families/normal_lowrank.cpp (e.g. for factor)
  • Write src/stan/services/experimental/advi/lowrank.hpp
  • Write documentation
  • Add required unit tests to src/test/unit/variational?
  • Write new model tests?
  • Run unit tests: ./runTests.py src/test/unit
  • Run cpplint: make cpplint
  • Declare copyright holder and open-source license: see below

Summary

Address the feature request in issue #2750. Implement the approach described in the original issue. A first pass at the math has already been completed. Although d seems to be used directly in the original paper, it might make more sense to reparameterize in terms of omega = log(d) (the gradient being equally easy to compute) as in the meanfield implementation.

How to Verify

Run new unit tests. Run new model tests.

Documentation

To do.

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):

Walter Nelson

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

@bob-carpenter bob-carpenter changed the title Implementation of low-rank ADVI [WIP] Implementation of low-rank ADVI Apr 20, 2019
@bob-carpenter
Copy link
Contributor

Thanks for submitting this. It'd be greeat to have this feature. @bbbales2 is working on something similar with @avehtari for HMC, so they probably want to have a look.

I added a [WIP] disclaimer (for "work in progress") in the title as this isn't yet ready to be merged.

@bob-carpenter
Copy link
Contributor

bob-carpenter commented Apr 20, 2019

Another note on process for these work-in-progress PRs: please batch the pushed commits because each push will fire off continuous integration. Thanks.

@rok-cesnovar
Copy link
Member

Closing stale stan-dev/stan pull requests. This one has been a WIP for almost 2 years. Feel free to reopen if you wish to continue on this.

@wjn0
Copy link
Author

wjn0 commented Mar 17, 2021

@rok-cesnovar hey, thanks for pinging me on this as it reminded me to actually get my work in a state where it might be merged! I'm about 1 cleanup commit away from having something ready for others to take a look at. Would you mind re-opening this for me, as it seems I don't have permissions? Many thanks!

@bbbales2
Copy link
Member

@wjn0 I think just make a new pull. The button is greyed out for me as well and I should have permissions.

@wjn0
Copy link
Author

wjn0 commented Mar 17, 2021

@bbbales2 cool, thanks!

@wjn0 wjn0 mentioned this pull request Mar 17, 2021
7 tasks
@rok-cesnovar
Copy link
Member

I think you cant reopen until the branch has unresolved conflicts. But a new PR is fine by me.

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.

5 participants