def prepare(self):
num_latent = 2
num_data = 3
k = gpflow.kernels.Matern32(1) + gpflow.kernels.White(1)
k.white.variance = 0.01
X = tf.placeholder(settings.float_type)
mu = tf.placeholder(settings.float_type)
Xs = tf.placeholder(settings.float_type)
sqrt = tf.placeholder(settings.float_type, shape=[num_data, num_latent])
rng = np.random.RandomState(0)
X_data = rng.randn(num_data, 1)
mu_data = rng.randn(num_data, num_latent)
sqrt_data = rng.randn(num_data, num_latent)
Xs_data = rng.randn(50, 1)
feed_dict = {X: X_data, Xs: Xs_data, mu: mu_data, sqrt: sqrt_data}
k.compile()
#the chols are diagonal matrices, with the same entries as the diag representation.
chol = tf.stack([tf.diag(sqrt[:, i]) for i in range(num_latent)])
chol = tf.transpose(chol, perm=[1, 2, 0])
return Xs, X, k, mu, sqrt, chol, feed_dict
评论列表
文章目录