# HG changeset patch # User James Bergstra # Date 1305730362 14400 # Node ID a57f4839a9d859beb5f08b24e2f66af610dcc79e # Parent 91a475ca9b6d586373d940e5f27af9074820cd08# Parent c41fdf8c35b80218f170ffb00b20a2704321ca3a merge diff -r c41fdf8c35b8 -r a57f4839a9d8 pylearn/dataset_ops/protocol.py --- a/pylearn/dataset_ops/protocol.py Wed Apr 27 11:34:36 2011 -0400 +++ b/pylearn/dataset_ops/protocol.py Wed May 18 10:52:42 2011 -0400 @@ -3,6 +3,7 @@ """ __docformat__ = "restructuredtext_en" +import numpy import theano class Dataset(theano.Op): @@ -119,6 +120,6 @@ except: x = self.x_ = self.fn(*self.fn_args) if idx.ndim == 0: - z[0] = x[int(idx)] + z[0] = numpy.asarray(x[int(idx)]) # asarray is important for memmaps else: - z[0] = x[idx] + z[0] = numpy.asarray(x[idx]) # asarray is important for memmaps diff -r c41fdf8c35b8 -r a57f4839a9d8 pylearn/datasets/icml07.py --- a/pylearn/datasets/icml07.py Wed Apr 27 11:34:36 2011 -0400 +++ b/pylearn/datasets/icml07.py Wed May 18 10:52:42 2011 -0400 @@ -3,6 +3,7 @@ import os, sys import numpy +from config import get_filepath_in_roots from pylearn.io.amat import AMat class DatasetLoader(object): @@ -68,7 +69,9 @@ assert numpy.all(labels < self.n_classes) return inputs, labels -def icml07_loaders(new_version=True, rootdir='.'): +def icml07_loaders(new_version=True, rootdir=None): + if rootdir is None: + rootdir = get_filepath_in_roots('icml07data_twiki') rval = dict( mnist_basic=DatasetLoader( http_source='http://www.iro.umontreal.ca/~lisa/icml2007data/mnist.zip', diff -r c41fdf8c35b8 -r a57f4839a9d8 pylearn/gd/sgd.py --- a/pylearn/gd/sgd.py Wed Apr 27 11:34:36 2011 -0400 +++ b/pylearn/gd/sgd.py Wed May 18 10:52:42 2011 -0400 @@ -1,6 +1,6 @@ """A stochastic gradient descent minimizer. """ - +import numpy import theano def sgd_updates(params, grads, stepsizes): @@ -35,11 +35,11 @@ momentum = [momentum for p in params] if len(params) != len(grads): raise ValueError('params and grads have different lens') - headings = [theano.shared(p.get_value(borrow=False)*0) for p in params] + headings = [theano.shared(numpy.zeros_like(p.get_value(borrow=True))) for p in params] updates = [] for s, p, gp, m, h in zip(stepsizes, params, grads, momentum, headings): updates.append((p, p + s * h)) - updates.append((h, m*h - (1-m)*gp)) + updates.append((h, m*h - (1.0-m)*gp)) return updates diff -r c41fdf8c35b8 -r a57f4839a9d8 pylearn/io/image_tiling.py --- a/pylearn/io/image_tiling.py Wed Apr 27 11:34:36 2011 -0400 +++ b/pylearn/io/image_tiling.py Wed May 18 10:52:42 2011 -0400 @@ -100,6 +100,10 @@ H, W = img_shape Hs, Ws = tile_spacing + out_scaling = 1 + if output_pixel_vals and str(X.dtype).startswith('float'): + out_scaling = 255 + out_array = numpy.zeros(out_shape, dtype='uint8' if output_pixel_vals else X.dtype) for tile_row in xrange(tile_shape[0]): for tile_col in xrange(tile_shape[1]): @@ -121,7 +125,7 @@ tile_row * (H+Hs):tile_row*(H+Hs)+H, tile_col * (W+Ws):tile_col*(W+Ws)+W ] \ - = this_img * (255 if output_pixel_vals else 1) + = this_img * out_scaling return out_array