def test_reparametrize_02(self): np.random.seed(42) gradients = np.random.uniform(-1, 1, 6).reshape(3, 1, 2) inputs = np.random.uniform(-1, 1, 6).reshape(3, 2) fm = FeatureMap(distr='multivariate_normal', bias=np.ones((1, 2)), input_dim=inputs.shape[1], n_features=2, params=np.ones(inputs.shape[1]), sigma_f=1) ss = KernelActiveSubspaces(dim=2, feature_map=fm) features = ss._reparametrize(inputs, gradients)[1] true_features = np.array([[-0.2391454, 0.48143467], [0.42589822, 0.75674833], [-0.37950285, 0.53470539]]) np.testing.assert_array_almost_equal(features, true_features)
def test_reparametrize_01(self): np.random.seed(42) gradients = np.random.uniform(-1, 1, 6).reshape(3, 1, 2) inputs = np.random.uniform(-1, 1, 6).reshape(3, 2) fm = FeatureMap(distr='multivariate_normal', bias=np.ones((1, 2)), input_dim=inputs.shape[1], n_features=2, params=np.ones(inputs.shape[1]), sigma_f=1) ss = KernelActiveSubspaces(dim=2, feature_map=fm) pseudo_gradients = ss._reparametrize(inputs, gradients)[0] true_pseudo_gradients = np.array([[[-1.17123517, 0.69671587]], [[0.29308353, 1.12067323]], [[-0.0036059, -1.75277398]]]) np.testing.assert_array_almost_equal(pseudo_gradients, true_pseudo_gradients)