view algorithms/tests/test_daa.py @ 500:3c60c2db0319

Added new daa test
author Joseph Turian <turian@gmail.com>
date Tue, 28 Oct 2008 13:36:27 -0400
parents 32509c479e2d
children 4fb6f7320518
line wrap: on
line source

#!/usr/bin/python

from pylearn import algorithms as models
import theano
import numpy
import time

import pylearn.algorithms.logistic_regression

def test_train_daa(mode = theano.Mode('c|py', 'fast_run')):

    ndaa = 3
    daa = models.Stacker([(models.SigmoidXEDenoisingAA, 'hidden')] * ndaa + [(models.BinRegressor, 'output')],
                         regularize = False)

    model = daa.make([4, 20, 20, 20, 1],
                     lr = 0.01,
                     mode = mode,
                     seed = 10)

    model.layers[0].noise_level = 0.3
    model.layers[1].noise_level = 0.3
    model.layers[2].noise_level = 0.3

    # Update the first hidden layer
    model.local_update[0]([[0, 1, 0, 1]])
    model.local_update[1]([[0, 1, 0, 1]])
    model.local_update[2]([[0, 1, 0, 1]])

    model.update([[0, 1, 0, 1]], [[0]])
    print model.classify([[0, 1, 0, 1]])


def test_train_daa2(mode = theano.Mode('c|py', 'fast_run')):

    ndaa = 3
    daa = models.Stacker([(models.SigmoidXEDenoisingAA, 'hidden')] * ndaa + [(pylearn.algorithms.logistic_regression.Module_Nclass, 'output')],
                         regularize = False)

    model = daa.make([4, 20, 20, 20, 1],
                     lr = 0.01,
                     mode = mode,
                     seed = 10)

    model.layers[0].noise_level = 0.3
    model.layers[1].noise_level = 0.3
    model.layers[2].noise_level = 0.3

    # Update the first hidden layer
    model.local_update[0]([[0, 1, 0, 1]])
    model.local_update[1]([[0, 1, 0, 1]])
    model.local_update[2]([[0, 1, 0, 1]])

    model.update([[0, 1, 0, 1]], [0])
    print model.classify([[0, 1, 0, 1]])





if __name__ == '__main__':
#    print 'optimized:'
#    t1 = test_train_daa(theano.Mode('py', 'fast_compile'))
#    t1 = test_train_daa(theano.Mode('c|py', 'fast_run'))
#    print 'time:',t1
#    print

#    print 'not optimized:'
#    t2 = test_train_daa(theano.Mode('c|py', 'fast_compile'))
##    print 'time:',t2

#    test_train_daa(theano.compile.Mode('c&py', 'merge'))
    test_train_daa(theano.compile.Mode('c|py', 'merge'))
    test_train_daa2(theano.compile.Mode('c|py', 'merge'))