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,))
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,))