问题标签 [gpytorch]

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 回答
336 浏览

pytorch - 不适合“GPyTorch”中的简单二维高斯过程

我在使用 GPyTorch 开箱即用地安装简单的二维 GP 时遇到了很多困难。正如您在下面看到的,拟合度非常差,并且将 RBF 内核换成 Matern 之类的东西并没有太大改善。优化似乎确实收敛,但不是在任何合理的地方。

在此处输入图像描述

除了文档中包含的示例之外,还有没有人有很好的教程示例?

0 投票
0 回答
64 浏览

python - 什么是`gpytorch.settings.max_preconditioner_size`?还有`gpytorch.beta_features.checkpoint_kernel(checkpoint_size)`?

我正在关注教程Simple_MultiGPU_GP_Regression并且我注意到在训练期间建立了两个选项:

什么是或指变量checkpoint_kernelpreconditioner_size

我已经检查了文档preconditioner_size但我不太清楚它指的是什么。

我直觉这checkpoint_size指的是与每个 GPU 相关的训练点数相关的东西。但这只是一种直觉。

帮助表示赞赏。

谢谢

0 投票
0 回答
652 浏览

pytorch - 在 Google Colab 上使用 GPU 的 PyTorch v1.3?

Google colab notebook 附带 PyTorch 和 GPU 支持——请参阅这个相关的 SO 答案,然后您应该将 notebook 运行时从 CPU 更改为 GPU(从顶部的 Colab 菜单栏)。

然而,尝试从 GPyTorch 训练模型总是失败

为什么?

相关资料:

0 投票
0 回答
635 浏览

python - Sklearn 高斯过程和 Gpytorch 给出不同的结果

我尝试使用 GPyTorch 版本在 sklearn 实现中复制 GP 回归的解决方案。不幸的是,我不能举一个原始数据集的例子,这是专有的。sklearn 解决方案的测试 mse 始终比 pytorch 版本低 40%,但我对 Torch 也不是很熟悉。还有另一个问题处理类似的问题,它似乎是关于多输出 GP 回归的特定问题,这似乎不适用于这里。

我尝试使用与原始数据完全不同的人工数据集来复制问题:

顺便说一下,在这个例子中,GPytorch 效果更好。更具体地说,我试图了解噪声方差的差异。通过尝试,我发现 alpha 参数,它本质上设置了协方差对角线上的噪声水平,对测试 mse 的好坏有很大的影响。如果我理解正确的话,就是这个参数在通过反向传播推断的火炬中。除此之外,如果允许 torch 变体充分放松为一个好的解决方案,这两个内核看起来是相同的。

我的问题是:

如何在 pytorch 内核上设置和固定噪声协方差?

推断的长度尺度在不同的实现之间似乎有很大的不同,这在原始实现的专有数据集上尤其如此。这怎么解释?

还有其他因素可以解释性能差异吗?数据的哪些方面会放大这种差异?

0 投票
0 回答
18 浏览

deep-learning - 没有名为“points.datasets”或点的模块

我试图在 3D Mesh Faust 数据集上实现这个模型https://github.com/rusty1s/pytorch_geometric/blob/master/benchmark/points/point_cnn.py 。但是,发生此故障,我无法通过 !pip intall "package" 解决。我能得到帮助吗谢谢。

0 投票
1 回答
341 浏览

pytorch - 将内核应用于 gpytorch 中的单独维度

我正在将 GPflow 中的三维高斯过程回归代码转换为 GPyTorch,以利用 PyTorch 的本机可扩展性来实现精确的 GPR。

此示例很有帮助,但无法找到有关如何将不同内核应用于多维 GPR 中的各个维度的解释(例如,将 Matern52 内核应用于维度 [0,1],将 Matern 32 内核应用于维度 [2] )。

GPyTorch 是否支持该功能,如果支持,它是如何实现的/我在哪里可以找到示例?

0 投票
1 回答
252 浏览

python - 高斯过程wrt特征的偏导数

给定具有多维特征和标量观察的高斯过程模型,如何在 GPyTorch 或 GPFlow(或 scikit-learn)中计算输出到每个输入的导数?

0 投票
1 回答
132 浏览

python - 有没有办法定义“异构”内核设计以将线性算子合并到 GPflow(或 GPytorch/GPy/...)的回归中?

我正在尝试使用线性运算符执行 GP 回归,例如 Särkka 的这篇论文中所述:https://users.aalto.fi/~ssarkka/pub/spde.pdf在这个例子中,我们可以从方程(8 )我需要一个不同的核函数用于完整协方差矩阵中的四个协方差块(训练和测试数据)。

这绝对是可能且有效的,但我想将其包含在(最好)GPflow 或 GPytorch、GPy 等的内核定义中。

但是,在Gpflow内核设计文档中,唯一的可能性是定义一个作用所有协方差块的协方差函数。原则上,上面的方法应该是直接添加我自己(核函数表达式可以解析得出),但我看不到任何异构”核函数合并到回归或核类中的方法。我尝试咨询其他软件包,例如GpytorchGpy,但同样,内核设计似乎不允许这样做。

也许我在这里遗漏了一些东西,也许我对底层实现不够熟悉来评估这一点,但如果有人以前做过这个或看到(什么应该是相当直接的?)实现可能性,我会很高兴找出答案。

非常感谢您的回答!

亲切的问候

0 投票
1 回答
677 浏览

kernel - GPyTorch,如何为“lengthscale”超参数设置初始值?

我根据文档使用 GPyTorch 回归器。

我想为 RBF 内核中的“lengthscale”超参数设置一个初始值。

我想设置一个常数作为“lengthscale”的初始值(类似于我们在 scikit-learn Gaussian Process Regressor 中可以做的事情)。

如果您有任何想法,请告诉我。

0 投票
1 回答
233 浏览

python - 使用具有相同超参数的 gpytorch 重现高斯过程的预测协方差的问题

我需要构建一个函数来给出高斯过程的后验协方差。这个想法是使用 GPytorch 训练 GP,然后获取学习的超参数,并将它们传递给我的内核函数。(由于几个原因,我不能直接使用 GPyTorch)。

现在的问题是我无法重现预测。这里是我写的代码。我整天都在努力,但我找不到问题所在。你知道我做错了什么吗?