Skip to content

Conversation

@jeffdonahue
Copy link
Contributor

This PR adds unit tests for the SGDSolver, checking that it correctly computes an update value for a least squares problem with a simple analytic gradient. All of these tests should fail if the gradient of the net is computed incorrectly (hence the tests assume that net->ForwardBackward and the forward/backward passes of DummyDataLayer, InnerProductLayer, and EuclideanLossLayer are correct). Some subset of the tests should fail if the solver incorrectly handles the learning rate, weight decay, and/or momentum (verified by modifying lines that handle these parameters in solver.cpp).

This will allow future SGDSolver changes to be made with greater confidence, and hopefully can serve as an example for unit tests to be written for @qipeng's #741 which adds other kinds of solvers.

jeffdonahue added a commit that referenced this pull request Aug 4, 2014
@jeffdonahue jeffdonahue merged commit 7b54598 into BVLC:dev Aug 4, 2014
@jeffdonahue jeffdonahue deleted the sgd-solver-test branch August 4, 2014 23:17
This was referenced Sep 18, 2014
mitmul pushed a commit to mitmul/caffe that referenced this pull request Sep 30, 2014
RazvanRanca pushed a commit to RazvanRanca/caffe that referenced this pull request Nov 4, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant