changeset 738:4c536c570957

added comments to norb_small
author desjagui@atchoum.iro.umontreal.ca
date Wed, 27 May 2009 23:15:00 -0400
parents 838646fcf679
children 6789c6c38e04
files pylearn/datasets/norb_small.py
diffstat 1 files changed, 26 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/pylearn/datasets/norb_small.py	Wed May 27 21:28:25 2009 -0400
+++ b/pylearn/datasets/norb_small.py	Wed May 27 23:15:00 2009 -0400
@@ -29,7 +29,33 @@
     return dat, labels
 
 
+#TODO
 class NORB_small(object):
+    """
+    This class loads the original small NORB dataset.
+    see http://www.cs.nyu.edu/~ylclab/data/norb-v1.0-small/ for details.
+
+    smallNORB is a rather large dataset. As such training and testing datasets
+    are loaded dynamically. On the first access to .train member, the
+    training dataset is loaded and split into training and validation set.
+    Subsequent references to train and valid will not require any loading. The
+    first subsequent access to .test member however will try to overwrite the 
+    training dataset with the test dataset. This is achieved by deleting all 
+    local references to the object. 
+
+    To maintain this behaviour, it is important for the user not to maintain
+    useless references fo the .train, .valid and .test members. Also be
+    conscious of the penalty when alternating accesses between both datasets.
+
+    TODO:
+    James: like, as far as code design goes... how about writing those three functions,
+    putting them into smallNORB in pylearn... then using those functions to implement the
+    Trainer-compatible class in just a few lines?
+    Guillaume:  yeah that's probably not a bad idea
+    James: if you like the suggestion, you could also just paste it into a comment, and
+    leave it for after NIPS :)
+    Guillaume:  i like that one even more :)
+    """
 
     class Paths():
         dirpath = os.path.join(data_root(), 'norb_small', 'original')