Mercurial > pylearn
diff _test_nnet_ops.py @ 419:43d9aa93934e
added other_ops.py to nnet_ops; added basic tests, no docs.
author | James Bergstra <bergstrj@iro.umontreal.ca> |
---|---|
date | Mon, 14 Jul 2008 16:48:02 -0400 |
parents | 2ee53bae9ee0 |
children | 9cfc2fc0f4d1 |
line wrap: on
line diff
--- a/_test_nnet_ops.py Mon Jul 14 13:48:41 2008 -0400 +++ b/_test_nnet_ops.py Mon Jul 14 16:48:02 2008 -0400 @@ -1,5 +1,6 @@ import unittest +import theano import theano._test_tensor as TT import numpy @@ -35,6 +36,43 @@ return crossentropy_softmax_1hot(a, y_idx)[0:1] TT.verify_grad(self, Dummy(), [numpy.random.rand(3,4)]) +class T_prepend(unittest.TestCase): + def test0(self): + """basic functionality""" + x=tensor.matrix('x') + y=Prepend_scalar_constant_to_each_row(4.)(x) + f=theano.function([x],[y]) + m=numpy.random.rand(3,5) + my = f(m) + self.failUnless(my.shape == (3, 6), my.shape) + self.failUnless(numpy.all( my[:,0] == 4.0)) + + +class T_prepend(unittest.TestCase): + def test0(self): + """basic functionality""" + x=tensor.matrix('x') + y=Prepend_scalar_to_each_row()(5.,x) + f=theano.function([x],[y]) + m=numpy.ones((3,5),dtype="float32") + my = f(m) + self.failUnless(str(my.dtype) == 'float64') + self.failUnless(my.shape == (3, 6)) + self.failUnless(numpy.all(my[:,0] == 5.0)) + +class T_solve(unittest.TestCase): + def setUp(self): + self.rng = numpy.random.RandomState(666) + + def test0(self): + A=self.rng.randn(5,5) + b=numpy.array(range(5),dtype=float) + x=numpy.linalg.solve(A,b) + Ax = numpy.dot(A,x) + are = theano.gradient.numeric_grad.abs_rel_err(Ax, b) + self.failUnless(numpy.all(are < 1.0e-5), (are, Ax, b)) + #print A,b + #print numpy.dot(A,x) if __name__ == '__main__':