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.
Consider the unit test in this pull request. It performs HMC or SGLD on Bayesian NN classification. It does not run (see #412); with this PR, it does.
In HMC, we assume the order of the dictionaries
z_old
andz_new
align. They do not: to see this, run the test while adding the following above line 167 ofhmc.py
:This alignment is necessary because in line 102,
sample
always uses the key order innew_sample
. I resolved this by enforcingOrderedDict
s.In SGLD, we assume the order of the dictionaries
old_sample
andself.latent_vars
align. They do not: to see this, run the test while adding the following below line 61 ofsgld.py
:This alignment is necessary because in the loop of line 70, we assume
grad_log_joint
(whichuses
old_sample
's order) has the same order asself.latent_vars
. I resolved this by changing the looping variables.todo's