问题标签 [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.
optimization - 在 GPflow 2.0 中使用 Tensorflow 双射器链进行边界超参数优化
在 GPflow 2.0 中进行 GP 回归时,我想在长度尺度上设置硬边界(即限制长度尺度优化范围)。按照这个线程(在 GPflow 2.0 中设置超参数优化边界),我构建了一个 TensorFlow Bijector 链(见bounded_lengthscale
下面的函数)。但是,下面的双射器链不会阻止模型在假定的范围之外进行优化。我需要改变什么才能使bounded_lengthscale
函数对优化施加严格的限制?
下面是MRE:
谢谢!
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之上。
谢谢!
gpflow - 具有多个维度的 GPflow 变化点内核问题
我正在按照此处的教程在 gpflow 中实现更改点内核。但是,我有 3 个输入和 1 个输出,我希望更改点内核仅位于第一个输入维度上,而其他标准内核位于其他两个输入维度上。我收到以下错误:
InvalidArgumentError:不兼容的形状:[2000,3,1] 与 [3,2000,1] [Op:Mul] 名称:mul/
下面是一个最小的工作示例。谁能让我知道我哪里出错了?
gpflow 版本 2.0.0.rc1
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,这意味着反转一个大于单个内核可以处理的协方差矩阵。有没有办法为集群或云计算并行化?
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
错误流:
gpflow - 我可以深度复制“gpflow.models.GPModel”吗?(GPflow2)
我们已经训练了一个模型,并希望在几种不同的方法中使用它,每种方法都会改变它。但是,第一个方法调用会污染后续调用的模型。
理想情况下,我们只想对模型进行深度复制,然后将副本传递给变异方法。
这可能吗?还是有更好的选择?
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 在这两种情况下都是标准化的。那么减法内核有什么问题呢?
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
gpflow - 对 SGPR 的 GPflow 多输出支持
GPflow 似乎只支持 SVGP 的多输出。是否可以将这种多输出支持用于其他模型(例如 SGPR)?例如: