def test_gradX_y(self):
n = 10
with util.NumpySeedContext(seed=10):
for d in [1, 3]:
y = np.random.randn(d)*2
X = np.random.rand(n, d)*3
sigma2 = 1.3
k = kernel.KGauss(sigma2=sigma2)
# n x d
G = k.gradX_y(X, y)
# check correctness
K = k.eval(X, y[np.newaxis, :])
myG = -K/sigma2*(X-y)
self.assertEqual(G.shape, myG.shape)
testing.assert_almost_equal(G, myG)
评论列表
文章目录