问题标签 [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 投票
2 回答
416 浏览

optimization - 在 GPflow 2.0 中使用 Tensorflow 双射器链进行边界超参数优化

在 GPflow 2.0 中进行 GP 回归时,我想在长度尺度上设置硬边界(即限制长度尺度优化范围)。按照这个线程(在 GPflow 2.0 中设置超参数优化边界),我构建了一个 TensorFlow Bijector 链(见bounded_lengthscale下面的函数)。但是,下面的双射器链不会阻止模型在假定的范围之外进行优化。我需要改变什么才能使bounded_lengthscale函数对优化施加严格的限制?

下面是MRE:

谢谢!

0 投票
1 回答
258 浏览

python - GPflow 2.0 中的自定义 Haversine Matern52 内核

使用 GPflow 2.0,我想用 Haversine 而不是欧几里得距离实现自定义的 Matern 5/2 内核。我在该类之上创建了一个自定义类gpflow.kernels.Matern52,其中包含一个scaled_squared_dist覆盖scaled_squared_euclid_dist从该类继承的函数。 Stationary

当前编写的类不会改变 Matern52 类;使用此HaversineKernel_Matern52内核的 GP 回归与使用 Matern52 内核的 GP 回归完全一样。

我需要改变什么才能使这个内核正确地重新计算 Haversine 距离?

这个问题建立在GPflow 问题 #969之上。

谢谢!

0 投票
1 回答
244 浏览

gpflow - 具有多个维度的 GPflow 变化点内核问题

我正在按照此处的教程在 gpflow 中实现更改点内核。但是,我有 3 个输入和 1 个输出,我希望更改点内核仅位于第一个输入维度上,而其他标准内核位于其他两个输入维度上。我收到以下错误:

InvalidArgumentError:不兼容的形状:[2000,3,1] 与 [3,2000,1] [Op:Mul] 名称:mul/

下面是一个最小的工作示例。谁能让我知道我哪里出错了?

gpflow 版本 2.0.0.rc1

0 投票
2 回答
195 浏览

python-3.x - 为大型数据集并行化 GPflow 2.0 GP 回归

我正在尝试在 2D 空间 + 1D 时间上运行 GP 回归,大约 8000 个观察值和一个具有 4 个 Matern 3/2 协方差函数的复合内核——超过一个内核可以处理。

如果能够将 GPR 计算分布在多个节点上,而不是求助于变分 GP,那就太好了。这个 github issue解释了如何在 GPflow 1.0 中执行多线程,但我不是在寻找一种方法来并行化许多predict_f调用。

相反,我想在大型数据集上进行 GPR,这意味着反转一个大于单个内核可以处理的协方差矩阵。有没有办法为集群或云计算并行化?

0 投票
1 回答
196 浏览

gpflow - GPflow,bvh:ValueError:平均值必须是一维的

当我尝试构建分层 GL-LVM 模型时,我遇到了一个奇怪的“ValueError:mean must be 1 dimensional”。基本上我正在尝试复制这篇论文:Hierarchical Gaussian Process Latent Variable Models using GPflow。

因此我实现了我自己的新模型如下:

该模型似乎适用于玩具示例:

但是当我尝试使用 bvh 文件(实际上是论文中的文件)时,失败并让我犯了错误。我还使用 Lawrence 的代码从mocap中读取了我的 bvh,我对其进行了修改以适应 python3

无论如何,已经几天了,我没有想法。我尝试了多种方法来强制我的平均数组“m”是一维的,但没有任何效果。我还尝试了第一篇 GPLVM 论文中的“three_phase_oil_flow”数据集,它也同样有效。

因此,我会假设我的模型是正确的,或者至少我进行了一些优化,并且认为可能是 bvh 读者可能是原因。但是数据对我来说似乎一切都很好......特别是我不明白为什么在强制使用多元函数时:

甚至使用 gpflow Zero 功能

它仍然给我带来了错误。任何帮助将不胜感激。

编辑感谢:Artem Artemev 如果有人想尝试重现其余代码: https ://github.com/michaelStettler/h-GPLVM

错误流:

0 投票
2 回答
122 浏览

gpflow - 我可以深度复制“gpflow.models.GPModel”吗?(GPflow2)

我们已经训练了一个模型,并希望在几种不同的方法中使用它,每种方法都会改变它。但是,第一个方法调用会污染后续调用的模型。

理想情况下,我们只想对模型进行深度复制,然后将副本传递给变异方法。

这可能吗?还是有更好的选择?

0 投票
1 回答
370 浏览

gpflow - gpflow中减法内核的Cholesky分解问题

我正在尝试以下内核:

当我运行它时:

我得到:

InvalidArgumentError(参见上文的追溯):Cholesky 分解不成功。输入可能无效。[[节点 GPR-0b2840db-15/likelihood_1/Cholesky(定义在 /Users/mjg/anaconda3/lib/python3.6/site-packages/gpflow/models/gpr.py:72)]]

当我尝试使用定义为添加剂的内核时:

一切正常。X 和 Y 在这两种情况下都是标准化的。那么减法内核有什么问题呢?

0 投票
1 回答
159 浏览

tensorflow - GPflow 多类:如何挤压许多 gp.predict_f_samples 以获得它们的概率?

我对 MNIST 数字进行分类,并且我想多次对每个类的概率(不是潜在函数)进行采样。但是,gp.predict_y仅给出一种情况的概率。

因此,我f_samples = gp.predict_f_samples从底层潜在函数中返回了许多示例。 现在,如何f_samples通过robust_max似然“挤压”?

我的 gp 代码:

GPflow 版本:1.5.1

0 投票
1 回答
134 浏览

gpflow - 对 SGPR 的 GPflow 多输出支持

GPflow 似乎只支持 SVGP 的多输出。是否可以将这种多输出支持用于其他模型(例如 SGPR)?例如:

0 投票
0 回答
210 浏览

python - 高斯过程回归:零均值

如以下代码所示,我想根据给定的数据xz. 但是,如图所示,GP的平均值等于0,内核的方差也等于0。我希望我能找到一些关于这个的线索......

在此处输入图像描述


编辑:在此处输入图像描述