changeset 477:8ff412852d66

added sgd
author James Bergstra <bergstrj@iro.umontreal.ca>
date Fri, 24 Oct 2008 13:28:00 -0400
parents 11e0357f06f4
children 0ea793361d85
files algorithms/sgd.py
diffstat 1 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/algorithms/sgd.py	Fri Oct 24 13:28:00 2008 -0400
@@ -0,0 +1,13 @@
+
+from theano.compile import module
+
+class StochasticGradientDescent(module.FancyModule):
+    def __init__(self, params, gparams, lr=None):
+        super(StochasticGradientDescent, self).__init__()
+
+        self.lr = lr if lr is not None else module.Member(T.dscalar())
+        self.params = params
+        self.gparams = gparams
+
+        self.updates = dict((p, p - self.lr * g) for p, g in zip(self.params, self.gparams))
+