问题标签 [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 回答
171 浏览

gpflow - GPflow - 具有 1 维线性内核的 GP 分类不适合二维数据

在问题#1435之后,我还有一个关于如何使用 GPflow 的问题。

我在一个额外的内核中复制了这个问题:https ://github.com/avalonhse/BayesNotebook/blob/master/Issue_2_GPFlow_Linear_Classification.ipynb

我的目的是将加性内核拟合到二维数据(维度 1 中的平方指数和维度 2 中的线性内核)。按照#1435的说明,我已经成功地用内核 gpflow.kernels.Linear(variance= 0.1) 拟合了模型。

线性核

但是,当我按照最初的计划使用内核 gpflow.kernels.Linear(active_dims= 1 ,variance= 0.01) 时,模型不适合。我使用具有相同内核的 GPy 作为参考,结果看起来很合理。

1-dim GPFlow 内核

GPy 代码仅供参考,以建议拟合模型应该如何。我知道 GPy 和 GPflow 使用不同的方法。我的问题是为什么当我在一维中指定线性内核时 GPflow 模型不适合。

0 投票
1 回答
100 浏览

python - 使用 Tensorflow 的 adam 优化器在 GPflow 中进行稀疏 GPR 估计

是否有在 GPflow中使用具有稀疏估计(例如SVGP或)的 Adam 优化器的代码示例。SGPR我无法立即找到任何示例,并且自从更新到 GPflow 2.0 以来,如何将数据(例如X和)传递给模型也不是很明显。Y任何帮助,将不胜感激。

0 投票
1 回答
402 浏览

tensorflow - 将模型保存在 gpflow 2 中

我正在尝试保存 GPflow 模型(在 GPflow 2.0 版中)。

由于gpflow包不再有saver模块,任何人都可以用另一种方式帮助我吗?

0 投票
1 回答
680 浏览

python - 为什么 GPflow 模型似乎无法通过 tf.optimizers.Adam 等 TensorFlow 优化器学习任何东西?

我的诱导点设置为可训练但在我调用时不会改变opt.minimize()。为什么是它,它是什么意思?这是否意味着模型不学习?tf.optimizers.Adam(lr)和 和有什么不一样gpflow.optimizers.Scipy

以下是改编自文档的简单分类示例。当我使用 gpflow 的 Scipy 优化器运行此代码示例时,我会得到经过训练的结果,并且诱导变量的值会不断变化。但是当我使用 Adam 优化器时,我只能得到一个直线预测,并且诱导点的值保持不变。这表明模型没有使用 Adam 优化器进行学习。

训练前的数据图

与 Adam 训练后的数据图

使用 gpflow 优化器 Scipy 训练后的数据图

该示例的链接是https://gpflow.readthedocs.io/en/develop/notebooks/advanced/multiclass_classification.html

0 投票
0 回答
244 浏览

regression - 使用 LinearCoregionalization 核计算 GPR 模型的对数边际似然

当我尝试使用 LinearCoregionalization 内核计算 GPR 模型的对数边际似然时,发生了 InvalidArgumentError,尽管可以在将内核插入 SVGP 模型时计算 ELBO。

据我(我不得不说的一个新手)可以看到,这是因为 GPR 模型不检查模型是多输出还是单输出,而只是以相同的方式对待它们。如何在不将多输出模型重塑为单输出模型的情况下方便地计算它?提前致谢。

错误信息

0 投票
1 回答
42 浏览

tensorflow2.0 - 在 GPflow 中进行推理的 API

我已经在 GPflow 中构建了一些高斯过程模型并成功地学习了它们,但是我找不到可以帮助我在 GPflow 中直接进行推理的 API,例如在 GPR 模型中分离不同内核的贡献。

我知道我可以手动完成,比如计算协方差矩阵、逆和乘法,但是随着模型变得更加复杂,比如多输出 SVGP 模型,这样的工作会很烦人。有什么建议么?

提前致谢!

0 投票
1 回答
209 浏览

tensorflow2.0 - GPflow 中的 Adam 优化器正在处理哪种类型的参数,受约束还是不受约束?

SVGPnatural gradient等 GPflow 的文档中,TensorFlow 中的 Adam 优化器用于使用随机变分推理技术训练 GP 模型的模型参数(长度尺度、方差、诱导输入等),而自然梯度优化器对于变分参数。一个片段如下所示

如图所示,model.trainable_variables 被传递给 Adam 优化器,该优化器继承自 tf.Module,由包括长度尺度和方差在内的多个参数组成。

我关心的是 Adam 优化器是否正在处理模型参数的无约束或约束版本。一段测试代码运行如下

并返回

据我所知,高斯过程的参数(如长度尺度和内核的方差)不是负数,在训练时应该受到约束。我不是 GPflow 或 TensorFlow 的源代码专家,但似乎 Adam 正在研究不受约束的参数。这只是对我的误解,还是别的什么?

提前感谢您的帮助!

0 投票
1 回答
74 浏览

machine-learning - 优化双射变换值是否会影响性能或准确性?

如果我想针对某个约束值优化一个函数,我可以在无约束空间和约束空间之间找到一个双射映射,然后针对无约束值优化原始函数和双射映射的组合。

在不同的空间进行优化是否会影响优化的性能或准确性?它在双射映射之间会有所不同吗?

我的用例是使用 TensorFlow Probability 的双射器在 GPflow 中训练受约束的高斯过程模型超参数。

0 投票
1 回答
197 浏览

tensorflow2.0 - GPflow 2.0 是否支持将先验放在 GP 的(超)参数上?

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

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

0 投票
1 回答
126 浏览

gpflow - 准确率没有增加,虽然损失在减少

我正在将 cnn 功能输入 gpflow 模型。我在这里从我的程序中编写代码块。我正在将 tape.gradient 与 Adam 优化器(预定 lr)一起使用。我的准确率停留在 47%,令人惊讶的是,我的损失仍在减少。它非常奇怪。我已经调试了程序。CNN 功能还可以,但 gp 模型没有学习。请你检查训练循环,让我知道我哪里错了。

训练循环是

我正在从迁移学习期间保存的检查点恢复 CNN 的权重。

随着更多的时期,损失继续减少,但准确性也开始下降。

gp模型声明如下

测试功能