Beispiel #1
0
 def test_frequent_directions_01(self):
     np.random.seed(42)
     inputs = np.random.rand(100, 500)
     gradients = (inputs[i, :] for i in range(100))
     ss = ActiveSubspaces(dim=50, method='exact')
     evals, v = ss._frequent_directions(gradients=gradients)
     self.assertEqual(v.shape, (500, 50))
     self.assertEqual(evals.shape, (50,))
Beispiel #2
0
 def test_frequent_directions_01(self):
     np.random.seed(42)
     grad = np.array(
         [[-0.50183952, 0, 0, 0, 0, 0 ,0, 0, 0, 0, 0, 0, 0, 0, 0],
          [-1.26638196, 0, 0, 0, 0, 0 ,0, 0, 0, 0, 0, 0, 0, 0, 0],
          [ 0.43017941, 0, 0, 0, 0, 0 ,0, 0, 0, 0, 0, 0, 0, 0, 0],
          [ 0.65008914, 0, 0, 0, 0, 0 ,0, 0, 0, 0, 0, 0, 0, 0, 0]])
     gradients = (grad[i, :] for i in range(4))
     ss = ActiveSubspaces(dim=2, method='exact', n_boot=150)
     evals, v = ss._frequent_directions(gradients=gradients)
     self.assertEqual(v.shape, (15, 2))
     self.assertEqual(evals.shape, (2,))