Пример #1
0
 def test_omp(self):
     data = np.vstack((np.random.randn(100, 2)+1, \
                       np.random.randn(100, 2)-1))
     k = 20
     centers = omp_mpi.omp1(data, k, max_iter=10)
     self.assertEqual(centers.shape[0], k)
     self.assertEqual(centers.shape[1], data.shape[1])
Пример #2
0
 def train(self, incoming_patches):
     centroid = omp_mpi.omp1(incoming_patches,
                             self.specs['k'],
                             max_iter = self.specs.get('max_iter', 100),
                             tol = self.specs.get('tol', 0.0001)
                             )
     return centroid, ()
 def test_omp(self):
     data = np.vstack((np.random.randn(100, 2)+1, \
                       np.random.randn(100, 2)-1))
     k = 20
     centers = omp_mpi.omp1(data, k, max_iter=10)
     self.assertEqual(centers.shape[0], k)
     self.assertEqual(centers.shape[1], data.shape[1])
 def test_omp_singlenode(self):
     """ Test a simple OMP where the result is apparent
     """
     data = np.vstack(( np.ones((100, 2)), \
                        np.tile([-1.,1.], (100,1))))
     k = 2
     centers = omp_mpi.omp1(data, k, max_iter=100)
     self.assertEqual(centers.shape[0], k)
     self.assertEqual(centers.shape[1], data.shape[1])
     np.testing.assert_array_almost_equal(np.abs(centers), 1./math.sqrt(2))
     self.assertTrue((centers[0,0] * centers[0,1] > 0) ^ \
                     (centers[1,0] * centers[1,1] > 0))
Пример #5
0
 def test_omp_singlenode(self):
     """ Test a simple OMP where the result is apparent
     """
     data = np.vstack(( np.ones((100, 2)), \
                        np.tile([-1.,1.], (100,1))))
     k = 2
     centers = omp_mpi.omp1(data, k, max_iter=100)
     self.assertEqual(centers.shape[0], k)
     self.assertEqual(centers.shape[1], data.shape[1])
     np.testing.assert_array_almost_equal(np.abs(centers),
                                          1. / math.sqrt(2))
     self.assertTrue((centers[0,0] * centers[0,1] > 0) ^ \
                     (centers[1,0] * centers[1,1] > 0))
 def test_omp_multinode(self):
     if mpi.SIZE == 1:
         return
     if mpi.RANK % 2:
         data = np.ones((100, 2))
     else:
         data = np.tile([-1.,1.], (100,1))
     k = 2
     centers = omp_mpi.omp1(data, k, max_iter=100)
     self.assertEqual(centers.shape[0], k)
     self.assertEqual(centers.shape[1], data.shape[1])
     np.testing.assert_array_almost_equal(np.abs(centers), 1./math.sqrt(2))
     self.assertTrue((centers[0,0] * centers[0,1] > 0) ^ \
                     (centers[1,0] * centers[1,1] > 0))
Пример #7
0
 def test_omp_multinode(self):
     if mpi.SIZE == 1:
         return
     if mpi.RANK % 2:
         data = np.ones((100, 2))
     else:
         data = np.tile([-1., 1.], (100, 1))
     k = 2
     centers = omp_mpi.omp1(data, k, max_iter=100)
     self.assertEqual(centers.shape[0], k)
     self.assertEqual(centers.shape[1], data.shape[1])
     np.testing.assert_array_almost_equal(np.abs(centers),
                                          1. / math.sqrt(2))
     self.assertTrue((centers[0,0] * centers[0,1] > 0) ^ \
                     (centers[1,0] * centers[1,1] > 0))