source: consulta_publica/vsm/unit_tests/tests_beagleorder.py @ 7095598

baseconstituyenteestudiantesgeneralplan_patriasala
Last change on this file since 7095598 was 0ff122b, checked in by rudmanmrrod <rudman22@…>, 7 años ago

Agregado módulo de gestión de perfiles de procesamiento, incorporado el módulo de visualización de modelado de tópicos

  • Propiedad mode establecida a 100644
File size: 3.9 KB
Línea 
1import unittest2 as unittest
2import numpy as np
3
4from vsm.model.beagleorder import *
5from vsm.model.beagleorder import (reduce_ngrams, rand_pt_unit_sphere, 
6                                   two_rand_perm)
7
8
9class TestBeagleOrder(unittest.TestCase):
10
11    def setUp(self):
12
13        from vsm.corpus.util.corpusbuilders import random_corpus
14        from vsm.model.beagleenvironment import BeagleEnvironment
15
16        self.c = random_corpus(1000, 50, 0, 10, context_type='sentence')
17
18        self.e = BeagleEnvironment(self.c, n_cols=100)
19        self.e.train()
20
21        self.ms = BeagleOrderSeq(self.c, self.e.matrix)
22        self.ms.train()
23        '''
24        self.mm = BeagleOrderMulti(self.c, self.e.matrix)
25        self.mm.train(2)
26        '''
27
28
29    def test_BeagleOrderSeq(self):
30        from tempfile import NamedTemporaryFile
31        import os
32
33        try:
34            tmp = NamedTemporaryFile(delete=False, suffix='.npz')
35            self.ms.save(tmp.name)
36            tmp.close()
37            m1 = BeagleOrderSeq.load(tmp.name)
38            self.assertTrue((self.ms.matrix == m1.matrix).all())
39   
40        finally:
41            os.remove(tmp.name)
42
43
44    '''
45    def test_BeagleOrderMulti(self):
46
47        from tempfile import NamedTemporaryFile
48        import os
49
50        try:
51            tmp = NamedTemporaryFile(delete=False, suffix='.npz')
52            self.mm.save(tmp.name)
53            tmp.close()
54            m1 = BeagleOrderMulti.load(tmp.name)
55            self.assertTrue((self.mm.matrix == m1.matrix).all())
56   
57        finally:
58            os.remove(tmp.name)
59    '''
60
61    #TODO: Construct a reference result for both models
62    # def test_compare(self):
63
64    #     psi = rand_pt_unit_sphere(self.e.shape[1])
65
66    #     rand_perm = two_rand_perm(self.e.shape[1])
67
68    #     print 'Training single processor model'
69    #     ms = BeagleOrderSeq(self.c, self.e.matrix, psi=psi, rand_perm=rand_perm)
70    #     ms.train()
71
72    #     print 'Training multiprocessor model'
73    #     mm = BeagleOrderMulti(self.c, self.e.matrix, psi=psi, rand_perm=rand_perm)
74    #     mm.train()
75
76    #     self.assertTrue(np.allclose(ms.matrix, mm.matrix), (ms.matrix, mm.matrix
77                                                        # ))
78
79
80    #TODO: Make into actual unit tests
81    # def test10(self):
82
83    #     import pprint
84
85    #     def fn(x,y):
86    #         if isinstance(x, tuple):
87    #             return x + (y,)
88    #         return (x, y)
89
90    #     a = np.arange(5)
91    #     print 'array length', a.shape[0]
92       
93    #     for i in xrange(a.shape[0]):
94    #         n = 3
95    #         print 'ngram length', n
96    #         print 'index', i
97    #         pprint.pprint(reduce_ngrams(fn, a, n, i))
98
99    #     for i in xrange(a.shape[0]):
100    #         n = 4
101    #         print 'ngram length', n
102    #         print 'index', i
103    #         pprint.pprint(reduce_ngrams(fn, a, n, i))
104
105    #     for i in xrange(a.shape[0]):
106    #         n = 5
107    #         print 'ngram length', n
108    #         print 'index', i
109    #         pprint.pprint(reduce_ngrams(fn, a, n, i))
110
111
112    # def test11(self):
113
114    #     import pprint
115
116    #     def fn(x,y):
117    #         return x + y
118
119    #     a = np.arange(5)
120    #     print 'array length', a.shape[0]
121       
122    #     for i in xrange(a.shape[0]):
123    #         n = 3
124    #         print 'ngram length', n
125    #         print 'index', i
126    #         pprint.pprint(reduce_ngrams(fn, a, n, i))
127
128    #     for i in xrange(a.shape[0]):
129    #         n = 4
130    #         print 'ngram length', n
131    #         print 'index', i
132    #         pprint.pprint(reduce_ngrams(fn, a, n, i))
133
134    #     for i in xrange(a.shape[0]):
135    #         n = 5
136    #         print 'ngram length', n
137    #         print 'index', i
138    #         pprint.pprint(reduce_ngrams(fn, a, n, i))
139
140
141       
142#Define and run test suite
143suite = unittest.TestLoader().loadTestsFromTestCase(TestBeagleOrder)
144unittest.TextTestRunner(verbosity=2).run(suite)
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.