def test_vectorized_SGLD(self): np.random.seed(0) X = np.arange(5)-2.0 b=2.31 a = 0.01584 epsilons = a*(b+np.arange(5))**(-0.55) r1 = evSGLD(manual_grad,grad_log_prior,X,n=1,epsilons=epsilons,theta=np.array([1.,1.3])) np.random.seed(0) r2 = SGLD(manual_grad,grad_log_prior,X,n=1,chain_size=5,theta=np.array([1.,1.3])) assert_almost_equal(r1,r2)
def test_vectorized_SGLD(self): np.random.seed(0) X = np.arange(5) - 2.0 b = 2.31 a = 0.01584 epsilons = a * (b + np.arange(5))**(-0.55) r1 = evSGLD(manual_grad, grad_log_prior, X, n=1, epsilons=epsilons, theta=np.array([1., 1.3])) np.random.seed(0) r2 = SGLD(manual_grad, grad_log_prior, X, n=1, chain_size=5, theta=np.array([1., 1.3])) assert_almost_equal(r1, r2)
SAMPLE_SIZE from sgld_test.likelihoods import gen_X, log_probability import numpy as np np.random.seed(SEED) X = gen_X(SAMPLE_SIZE) def vectorized_log_density(theta): return log_probability(theta,X) t1 = time() sample = [] no_chains = NUMBER_OF_TESTS * NO_OF_SAMPELS_IN_TEST for i in range(no_chains): if i % (100) == 0: print(float(i)*100.0/no_chains) print(time()-t1) sample.append(evSGLD(manual_grad, grad_log_prior, X, n=1, chain_size=SGLD_CHAIN_SIZE,theta = np.random.randn(2) ) ) sample = np.array(sample) np.save('samples.npy',sample)
import numpy as np np.random.seed(SEED) X = gen_X(SAMPLE_SIZE) def vectorized_log_density(theta): return log_probability(theta, X) t1 = time() sample = [] no_chains = NUMBER_OF_TESTS * NO_OF_SAMPELS_IN_TEST for i in range(no_chains): if i % (100) == 0: print(float(i) * 100.0 / no_chains) print(time() - t1) sample.append( evSGLD(manual_grad, grad_log_prior, X, n=1, chain_size=SGLD_CHAIN_SIZE, theta=np.random.randn(2))) sample = np.array(sample) np.save('samples.npy', sample)