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.
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
159 feat bms return variable number of models #161
159 feat bms return variable number of models #161
Changes from all commits
46a3f51
375a5d7
def8cce
d06d488
842cf16
348543e
ee06f86
f15e15f
aed52ab
5d80834
6b4d7d3
b3ad2d3
4b22a87
c235992
5ccabd2
5aa11f2
387005e
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does the 1.0 do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's probably easier to see looking in the code but I'll do my best to describe it. The keys of the dictionary of temperatures are created as numerical values and then recast as strings. Originally the code contained one integer
1
and the rest floats. When we type casted, we had to change an integer to a float.1
became1.0
, which is different when cast as a string and so is a distinct key value. The code assumes a one-to-one correspondence between temperature values and dictionary keys. The code also hard codes one tree with1
and then iteratively creates trees from the temperatures, but skips1
(which we changed to1.0
). So the parallel machine scientist held a tree for a temperature value of1
and of1.0
, and considers the the key"1"
to hold the best model and ignores"1.0"
. When comparing trees intree_swap()
, it only chooses among those that correspond to a temperature value stored in, which are recorded as floats, and so ignores"1"
. Hence the model selected by BMS is unaffected bytree_swap()
. The tree corresponding to"1"
does improve over time because it is still affected bymcmc_step()
. However, we lose the functionality of having higher temperatures, tree swaps, and the other 95% of the training results.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tl;dr: when we type set temperatures to be floats, the hooks forced us to change a
1
to a1.0
. Turns out there was some hard coding which relied on it being specifically1
.