annotate pylearn/datasets/nade.py @ 1467:b24ed2aa077e

name parameter for dataset needs to be a keyword arg. for compatibility with jobman
author gdesjardins
date Wed, 20 Apr 2011 16:55:18 -0400
parents 490616262500
children be4a49a65333
rev   line source
1465
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
1 import os
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
2 import numpy
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
3
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
4 from pylearn.io.pmat import PMat
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
5 from pylearn.datasets.config import data_root # config
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
6 from pylearn.datasets.dataset import Dataset
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
7
1467
b24ed2aa077e name parameter for dataset needs to be a keyword arg. for compatibility with
gdesjardins
parents: 1465
diff changeset
8 def load_dataset(name=None):
1465
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
9 """
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
10 Various datasets which were used in the following paper.
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
11 The Neural Autoregressive Distribution Estimator
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
12 Hugo Larochelle and Iain Murray, AISTATS 2011
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
13
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
14 :param name: string specifying which dataset to load
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
15 :return: Dataset object
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
16 dataset.train.x: matrix of training data of shape (num_examples, ndim)
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
17 dataset.train.y: vector of training labels of length num_examples. Labels are
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
18 integer valued and represent the class it belongs too.
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
19 dataset.valid.x: idem for validation data
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
20 dataset.valid.y: idem for validation data
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
21 dataset.test.x: idem for test data
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
22 dataset.test.y: idem for test data
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
23
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
24 WARNING: class labels are integer-valued instead of 1-of-n encoding !
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
25 """
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
26 assert name in ['adult','binarized_mnist', 'mnist', 'connect4','dna',
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
27 'mushrooms','nips','ocr_letters','rcv1','web']
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
28 rval = Dataset()
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
29
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
30 path = os.path.join(data_root(), 'larocheh', name)
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
31
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
32 # load training set
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
33 x=numpy.load(os.path.join(path,'train_data.npy'))
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
34 y_fname = os.path.join(path, 'train_labels.npy')
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
35 if os.path.exists(y_fname):
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
36 y = numpy.load(os.path.join(path,'train_labels.npy'))
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
37 else:
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
38 y = None
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
39 rval.train = Dataset.Obj(x=x, y=y)
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
40
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
41 # load validation set
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
42 x=numpy.load(os.path.join(path,'valid_data.npy'))
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
43 y_fname = os.path.join(path, 'valid_labels.npy')
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
44 if os.path.exists(y_fname):
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
45 y = numpy.load(os.path.join(path,'valid_labels.npy'))
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
46 else:
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
47 y = None
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
48 rval.valid = Dataset.Obj(x=x, y=y)
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
49
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
50 # load training set
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
51 x=numpy.load(os.path.join(path,'test_data.npy'))
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
52 y_fname = os.path.join(path, 'test_labels.npy')
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
53 if os.path.exists(y_fname):
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
54 y = numpy.load(os.path.join(path,'test_labels.npy'))
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
55 else:
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
56 y = None
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
57 rval.test = Dataset.Obj(x=x, y=y)
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
58
490616262500 Adding datasets used in Hugo's NADE paper. Datasets have been converted from
gdesjardins
parents:
diff changeset
59 return rval