Things to fix in ADVI
Open
Nobody has claimed this yet.
code cleanup
- Dominant language
- C++
- Stars
- 2.8k
- Forks
- 388
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 15
Description
Summary:
These were issues that were noticed when code reviewing for #1751. @bob-carpenter spotted most of these.
Description:
- Change
gradient_samplesargument to the algorithm to something closer to "size of the sample" or "number of draws" - in
fullrankandmeanfield, rather thancont_params.resize(cont_vector.size());, we should use anEigen::Map - document
@throwand@returnproperly. Currently,run()looks like it can only return 0, but it does throw.
Current Version:
v2.14.0
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the ADVI algorithm entry point and the implementations of fullrank and meanfield, then inspect gradient_samples and the cont_params.resize(cont_vector.size()) call. Review run()'s documented return and exception behavior. Done means the argument naming, Eigen mapping, and @throw/@return documentation items are all addressed and the relevant checks pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- machine-learning
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100