message="Product currently only supports diagonal Xcov.", name="assert_Xcov_diag"),
]):
_expectation_fn = lambda k: _expectation(p, k, feat, None, None)
return functools.reduce(tf.multiply, [_expectation_fn(k) for k in kern.kern_list])
@dispatch(DiagonalGaussian, kernels.Product, InducingPoints, kernels.Product, InducingPoints)
After Change
"Product currently needs to be defined on separate dimensions.") // pragma: no cover
return functools.reduce(tf.multiply, [
expectation(p, (k, feat), (k, feat)) for k in kern.kern_list])
// ============== Conversion to Gaussian from Diagonal or Markov ===============