问题标签 [gpflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
876 浏览

python - 如果我有 anaconda,如何在 PyCharm 上安装 GPflow?

我尝试下载包和python setup.py develop. 但是,这会直接在 anaconda 下安装 GPflow。另外,这不是真正有效的蟒蛇并给出错误

所以我想我应该尝试在库下安装它?以下是其他一些捕获:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
115 浏览

python - gpflow安装错误:`RuntimeError:超出最大递归深度'

我正在尝试安装 GPflow 以下

https://github.com/GPflow/GPflow/blob/master/README.md

我有 Ubuntu 16.04 LTS。

我成功安装了 tensorflow(我运行了一个简单的 python 脚本来测试它并且它有效)。

我从壳里跑

它给了我找不到文件 setup.py 的错误。所以我在本地文件夹中克隆了 GPflow git 存储库,然后从我执行的那个文件夹中

(我需要使用 sudo 获得访问权限)。但我收到以下错误:

关于如何解决这个问题的任何想法?

0 投票
0 回答
875 浏览

python - TensorFlow(或 GPFlow)中的约束优化

一个例子如下:目标是优化一个f(x1,..,xN)受约束x1 + .. + xN = 1的函数0 < x_i <= 1。一般来说,我如何使用 tensorflow(具有任意约束)来做到这一点?

我见过允许这样做的ScipyOptimizerInterface 。

在这种特殊情况下,另一种方法是使用nnsoftmax转换来编写x_i = exp(y_i)/sum_i(exp(y_i)), i=1,..,Ny1,..,yN现在不受约束,可以使用 SGD 进行优化,即使用 TensorFlow 没有任何约束。在 GPFlow 中,这相当于与变量关联的变换{y1,..,yN}

还有其他方法吗?

0 投票
1 回答
308 浏览

python - 在 GPflow 中重置内核超参数值

我的用例是这样的:我有一个函数接受用户选择的内核,然后我将遍历数据集中的每个日期,并使用高斯过程回归来估计使用指定内核的模型。但是,由于我指向的是内核对象,所以我需要在运行下一次迭代之前将其重置为默认值。

我在内核上找到了 read_trainables() 方法,所以一种策略是保存用户提供的设置,但似乎没有任何方法可以设置它们?

干杯,史蒂夫

0 投票
1 回答
209 浏览

python-3.x - 可以在 gpflow 的 SGPR 中使用除周期性以外的内核吗

我对GPR很陌生。如果您对以下问题提供一些建议,我将不胜感激:

我们可以在稀疏高斯过程中使用Matern52内核吗?

选择伪输入 (Z) 的最佳方法是什么?随机抽样是否合理?

我想提一下,当我使用 Matern52 内核时,以下错误会停止优化过程。我的代码:

InvalidArgumentError(参见上面的回溯):输入矩阵不可逆。[[节点:gradients_25/SGPR-31ceaea6-412/Cholesky_grad/MatrixTriangularSolve = MatrixTriangularSolve[T=DT_DOUBLE, adjoint=false, lower=true, _device="/job:localhost/replica:0/task:0/device:CPU: 0"](SGPR-31ceaea6-412/Cholesky, SGPR-31ceaea6-412/eye_1/MatrixDiag)]

任何帮助将不胜感激,谢谢。

0 投票
1 回答
249 浏览

python - 为 GPflow 模型预计算张量流张量

我想将稀疏高斯过程模型(来自 GPflow 库)包含到另一个项目中。问题是我不能一次调用多个输入的预测函数,但我必须按顺序调用它。我检查了 SGPR 类 ( https://github.com/GPflow/GPflow/blob/master/gpflow/models/sgpr.py ) 中的预测函数 predict_F ,发现我可以提前预先计算很多东西。因此,我创建了一个 SGPR 的子类并编写了一个预计算方法,修改了预测函数:

但是当我运行代码时,速度没有区别。我想tensorflow只有在我调用predict_f时才会执行所有表达式,但我不知道如何显式地预先计算一些张量。希望tensorflow大师可以帮助我,在此先感谢!

0 投票
1 回答
74 浏览

python - GPflow 和 Sklearn 计算的 PCA 不匹配

我正在使用SklearnGPflow执行 PCA 分析。我注意到两个库返回的输出不匹配。

请参阅下面的示例代码片段-

下面是输出 -

它仅在主成分数为 1 时匹配。为什么会出现这种行为?

0 投票
1 回答
568 浏览

python - 如何获得完整的协方差矩阵并在 GPflow 中找到它的熵

我想计算 GPFlow 中 GP 回归的协方差矩阵的行列式。我猜我可以用这个函数得到协方差矩阵:

这里建议使用此功能:

https://gpflow.readthedocs.io/en/develop/notebooks/regression.html

但是,我不知道如何使用这个函数或它返回什么。我需要知道一个返回整个模型的协方差矩阵的函数,然后我需要知道如何计算它的行​​列式。

经过一番努力,我想出了如何给 predict_f_full_cov 一些我感兴趣的点,如下所示:

这返回了两个数组,其中第一个是我沿 x 轴要求的点的预测函数的平均值。第二个数组有点神秘。我猜这是协方差矩阵。我用这个把它拉出来:

然后我查找了如何计算行列式,如下所示:

然后我计算了它的对数以获得协方差矩阵的熵:

我使用两组不同的数据运行了两次。第一个噪音大,第二个噪音低。奇怪的是,低噪声数据集的熵上升了。我很茫然。

我发现,如果我只是在一个应该是线性的小区域上计算协方差矩阵,那么上下调整噪声不会达到我的预期。此外,如果我将 GP 回归到大量点,则行列式变为 0.0。

这是我正在使用的代码:

0 投票
1 回答
800 浏览

gpflow - gpflow中的多输出回归

我正在使用 gpflow 进行多输出回归。

我的回归目标是一个三维向量(相关的),我设法用完整的协方差矩阵进行了预测。这是我的实现。更具体地说,我在 tensorflow 之后使用 SVGP,其中 f_x, Y 是张量(我使用的是小批量训练)。在批量训练期间,小批量中的训练示例是相关的,而我们可以假设它们与训练集中的其他示例相互独立。因此,我想在训练期间在每个批次中实现相关内核,并使用完整的协方差矩阵进行预测。

我有两个问题:

  1. 我应该使用哪个内核?我在https://gpflow.readthedocs.io/en/develop/notebooks/multioutput.html#Shared-Independent-MOK-&-Shared-Independent-Features-(SLOW-CODE)中阅读了关于多输出 GP 的教程,谁能进一步解释以下声明?在我的理解中,不同输出维度之间的内核是不相关的,但是,我们仍然可以在预测中得到完整的协方差矩阵(条件)?

所有输出都是不相关的,并且每个输出使用相同的内核。但是,在条件计算期间,我们不假设这种特定的块对角结构。

  1. 一个技术问题。当我在 tensorflow 之后使用 gpflow 时,我应该如何设置“功能”。我应该设置一个带有零的numpy matix还是简单地设置为None?似乎在批量训练中,诱导点默认设置为全批量。虽然如何设置特征类型,例如 SharedIndependentMof,我们可以设置大于批量大小的诱导点吗?

谢谢!

0 投票
2 回答
717 浏览

gpflow - 保存和检索 Gpflow 模型的参数

我目前正在使用 GPR 实现一个带有 GPflow 的算法。我想在 GPR 训练后保存参数并加载模型进行测试。有人知道命令吗?