-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Copied DBM to sandbox/dbm_v2 and stripped down. #1194
base: master
Are you sure you want to change the base?
Conversation
dbm_v2 is an attempt to refactor and redo some of the core aspects of DBM. Currently it is a stripped down version of models/dbm to support only: RBM Updown Inference Gibbs sampling BaseCD VariationalCD I have included some tests for RBM CD to get things moving. There are some changes found in other PRs, namely to: dbm_cost.py: refactored a little bit to make it cleaner and get BaseCD working. dbm.py: introduced RBM and a method for DBM to intialize its own chains. and a few other smaller changes.
sampling_procedure=None, inference_procedure=None): | ||
self.__dict__.update(locals()) | ||
del self.self | ||
assert len(hidden_layers) >= 1 |
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.
Added assert to keep it to RBM for now.
dbm_v2 is an attempt to refactor and redo some of the core aspects of DBM. Currently it is a stripped down version of models/dbm to support only: RBM Updown Inference Gibbs sampling BaseCD VariationalCD I have included some tests for RBM CD to get things moving. There are some changes found in other PRs, namely to: dbm_cost.py: refactored a little bit to make it cleaner and get BaseCD working. dbm.py: introduced RBM and a method for DBM to intialize its own chains. and a few other smaller changes.
Fixed fix function in cost. Need to add tests for MF L1/L2
…se just random weights and input. For now I switched to a sampling pricedure that's more true to CD-1 for RBM. Modified tests to use data that is closer to weights than just random.
@@ -78,6 +78,14 @@ | |||
"sandbox/lisa_rl/bandit/classifier_bandit.py", | |||
"sandbox/lisa_rl/bandit/classifier_agent.py", | |||
"sandbox/lisa_rl/bandit/plot_reward.py", |
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.
The purpose of the whitelist is to avoid having existing code make the test fail. Before we merge new code, it should pass the formatting tests. In other words, we should only ever remove items from the whitelist, not add them.
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.
Actually, I take back what I said earlier. Since this is sandbox and they're new files I'm OK with it.
This is automatically mergeable but adds files to the whitelist. @rdevon did you still want this merged? (The history is sufficiently frenetic that it would be a good idea to rebase + squash). |
Let me look at this and the other pull request. I'll get back to you in 1-2 days. |
In support of @bartvm 's request for less friction, I'm fine with making sandbox considerably more anarchic. So basically, let's rebase this to not have commits that fail tests in the history, but otherwise I'm OK with merging. @rdevon , let me know if there is stuff you want checked for correctness / checked if it's on a good track to eventually replacing the default. |
@rdevon , did you still want this merged? |
Hey Ian. Not yet. I’m working on a newer framework for DBM that hopefully will be a little more flexible and simple. I’m in Montreal for a few days giving a talk, and will work on cleanup on the current pull-request. Thanks! If you’re interested, I can send you a list of proposed features of the DBM v2 this weekend for feedback. -devon
|
dbm_v2 is an attempt to refactor and redo some of the core aspects of DBM.
Currently it is a stripped down version of models/dbm to support only:
RBM
Updown Inference
Gibbs sampling
BaseCD
VariationalCD
I have included some tests for RBM CD to get things moving.
There are some changes found in other PRs, namely to:
dbm_cost.py: refactored a little bit to make it cleaner and get BaseCD working.
dbm.py: introduced RBM and a method for DBM to intialize its own chains.
and a few other smaller changes and docs found in other PRs.