Skip to content

Commit 0d3df9e

Browse files
committed
added separate file for decorators tests
1 parent 66c14a4 commit 0d3df9e

File tree

2 files changed

+55
-18
lines changed

2 files changed

+55
-18
lines changed

Mariana/tests/decorators_tests.py

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import unittest
2+
3+
import Mariana.layers as ML
4+
import Mariana.initializations as MI
5+
import Mariana.decorators as MD
6+
import Mariana.costs as MC
7+
import Mariana.regularizations as MR
8+
import Mariana.scenari as MS
9+
import Mariana.activations as MA
10+
11+
import theano.tensor as tt
12+
import numpy
13+
14+
class DecoratorTests(unittest.TestCase):
15+
16+
def setUp(self) :
17+
pass
18+
19+
def tearDown(self) :
20+
pass
21+
22+
# @unittest.skip("skipping")
23+
def test_batch_norm(self) :
24+
import theano, numpy
25+
26+
def batchnorm(W, b, data) :
27+
return numpy.asarray( W * ( (data-numpy.mean(data)) / numpy.std(data) ) + b, dtype= theano.config.floatX)
28+
29+
data = numpy.random.randn(1, 100).astype(theano.config.floatX)
30+
31+
inp = ML.Input(100, 'inp', decorators=[MD.BatchNormalization()])
32+
33+
model = inp.network
34+
m1 = numpy.mean( model.propagate(inp, inp=data)["outputs"])
35+
m2 = numpy.mean( batchnorm(inp.batchnorm_W.get_value(), inp.batchnorm_b.get_value(), data) )
36+
37+
epsilon = 1e-6
38+
self.assertTrue ( (m1 - m2) < epsilon )
39+
40+
# @unittest.skip("skipping")
41+
def test_mask(self) :
42+
import theano, numpy
43+
44+
inp = ML.Input(100, 'inp', decorators=[MD.Mask(mask = numpy.zeros(100))])
45+
model = inp.network
46+
47+
data = numpy.random.randn(1, 100).astype(theano.config.floatX)
48+
out = model.propagate(inp, inp=data)["outputs"]
49+
50+
self.assertEqual(sum(out[0]), 0)
51+
52+
if __name__ == '__main__' :
53+
import Mariana.settings as MSET
54+
MSET.VERBOSE = False
55+
unittest.main()

Mariana/tests/tests.py

-18
Original file line numberDiff line numberDiff line change
@@ -244,24 +244,6 @@ def makeDataset(nbExamples, size, patternSize) :
244244

245245
self.assertTrue(res["score"] < 0.1)
246246

247-
# @unittest.skip("skipping")
248-
def test_batch_norm(self) :
249-
import theano, numpy
250-
251-
def batchnorm(W, b, data) :
252-
return numpy.asarray( W * ( (data-numpy.mean(data)) / numpy.std(data) ) + b, dtype= theano.config.floatX)
253-
254-
data = numpy.random.randn(1, 100).astype(theano.config.floatX)
255-
256-
inp = ML.Input(100, 'inp', decorators=[MD.BatchNormalization()])
257-
258-
model = inp.network
259-
m1 = numpy.mean( model.propagate(inp, inp=data)["outputs"])
260-
m2 = numpy.mean( batchnorm(inp.batchnorm_W.get_value(), inp.batchnorm_b.get_value(), data) )
261-
262-
epsilon = 1e-6
263-
self.assertTrue ( (m1 - m2) < epsilon )
264-
265247
if __name__ == '__main__' :
266248
import Mariana.settings as MSET
267249
MSET.VERBOSE = False

0 commit comments

Comments
 (0)