def Kuf(self, kern, Xnew):
if isinstance(kern, kernels.RBF):
with decors.params_as_tensors_for(kern):
Xnew, _ = kern._slice(Xnew, None)
Zmu, Zlen = kern._slice(self.Z, self.scales)
idlengthscales = kern.lengthscales + Zlen
d = self._cust_square_dist(Xnew, Zmu, idlengthscales)
Kuf = tf.transpose(kern.variance * tf.exp(-d / 2) *
tf.reshape(tf.reduce_prod(kern.lengthscales / idlengthscales, 1),
(1, -1)))
return Kuf
else:
raise NotImplementedError(
"Multiscale features not implemented for `%s`." % str(type(kern)))
评论列表
文章目录