view algorithms/tests/test_regressor.py @ 490:4f3c66146f17

Moved weights.py out of sandbox
author Joseph Turian <turian@gmail.com>
date Tue, 28 Oct 2008 10:54:26 -0400
parents 8fcd0f3d9a17
children
line wrap: on
line source



import models
import theano
import numpy
import time


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

    reg = models.BinRegressor(regularize = False)

    model = reg.make(lr = 0.01,
                     input_size = 100,
                     mode = mode,
                     seed = 10)

#     data = [[0, 1, 0, 0, 1, 1, 1, 0, 1, 0]*10]*10
#     targets = [[1]]*10
    #data = numpy.random.rand(10, 100)

    R = numpy.random.RandomState(100)
    t1 = time.time()
    for i in xrange(1001):
        data = R.random_integers(0, 1, size = (10, 100))
        targets = data[:, 6].reshape((10, 1))
        cost = model.update(data, targets)
        if i % 100 == 0:
            print i, '\t', cost, '\t', 1*(targets.T == model.classify(data).T)
    t2 = time.time()
    return t2 - t1

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

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