Allow standalone generate_quantities using non-HMC fit #1106
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Submisison Checklist
./runCmdStanTests.py src/test
Summary:
This closes #1099. Currently,
generate_quantities
assumes there are exactly 7 columns of non-parameters before the parameter draws in the CSV, as this is the case in HMC. However, no further assumptions are made on the draws for this method.This PR simply changes from using a hardcoded value of 7 to first counting the number of columns which end with
"__"
, then proceeding as before.Following the existing design in terms of the warmup draws, this makes no attempt to avoid running generate_quantities on pre-converged optimization paths. It will run for each row in the CSV, leaving it up to downstream interfaces to sort this out.
Intended Effect:
generate_quantities
can now accept files forfitted_params
which are the results of optimization or VI.How to Verify:
A test is added which uses a CSV file generated from LBFGS.
Side Effects:
Should be none. The only changes are in
command.hpp
, none of the upstream IO needed adjusting, since the specific information we need from the CSV is agnostic.Interfaces like cmdstanpy/cmdstanr will need updates to support this
Documentation:
I believe that this PR actually makes the existing documentation more correct. The current documentation states
without specifying that this CSV file must be from sampling.
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):
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: