首页 > 解决方案 > GPflow 2.0 是否支持将先验放在 GP 的(超)参数上?

问题描述

我想先介绍一下 GPflow 中 GP 模型的(超)参数,但我找不到任何关于此问题的模块(如 gpflow.priors)或文档。

此外,我注意到这prior类参数的参数之一,还有一个问题

标签: tensorflow2.0gaussiangpflow

解决方案


GPflow 2.0 使用 tensorflow_probability 分布对象作为先验,例如

model.kernel.lengthscales.prior = tensorflow_probability.distributions.Gamma(
    gpflow.utilities.to_default_float(1.0), gpflow.utilities.to_default_float(1.0)
)

(或将分发对象作为priorgpflow.Parameter 类的参数传递)。请注意,TensorFlow 默认使用 float32,而对于 GP,我们通常希望使用 float64 - 因此调用to_default_float.

这在文档中提到,无论是在理解模型的笔记本中,还是在笔记本中关于如何使用 MCMC 和 GPflow的深入讨论。


推荐阅读