如何在tensorflowprobability中为HMC采样器提供自定义梯度?

2024-06-08 19:54:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用内置的tensorflow概率HMC采样器从后验数据生成样本。根据documentation,似乎必须提供target_log_prob_fn后可调用的(可能未标准化)对数密度,tensorflow概率自动计算其梯度(关于待推断的参数),以执行哈密顿MCMC更新

然而,在我的应用程序中,产生的后验概率和梯度是在tensorflow之外计算的(它涉及偏微分方程的解,我可以使用其他python库高效地计算)。所以我想知道有没有一种方法可以直接传递target_log_prob_fn后验的(非标准化)对数密度及其梯度来执行哈密顿MCMC更新?换句话说,有没有办法让HMC采样器使用我提供的梯度来执行MCMC更新

我找到了一个相关的question over here,但它并没有完全回答我的问题


Tags: 数据logtargettensorflow对数概率内置密度