添加新发行版时 FreeRV 类型出现问题

问题描述 投票:0回答:1

我正在尝试通过包装 Agner Fogs c++ 版本来向 PyMC3(Wallenius 非中心超几何)添加新的离散分布 (https://www.agner.org/random/)。

我已成功将相关函数放入 C++ 扩展中,并添加了广播,使其行为与 scipy 的发行版相同。 (目前广播是在 Python 中完成的......稍后将尝试 xtensor-python 绑定,以在 C++ 中实现更高性能的矢量化。)

我遇到了以下问题:当我在模型上下文中实例化新分布的 RV 时,我收到“TypeError:需要一个整数(类型为 FreeRV)”,其中“值”被传递到新分布的 logp() 函数。

我知道 PyMC3 可能需要将 RV 连接到函数,但我找不到方法将它们转换为我的新函数可以使用的东西。

有关如何解决此问题的任何提示或有关向 PyMC3 添加新发行版或发行版内部工作的一般信息都将非常有帮助。

提前致谢! 一月

编辑:我注意到 FreeRV 继承自 theanos TensorVariable,所以我尝试调用 .eval()。这会导致另一个错误,即没有连接输入。 (我现在没有确切的错误消息)。 让我困惑的一件事是为什么在设置模型时在变量实例化时调用 logp ...

bayesian pymc3 pymc probabilistic-programming
1个回答
-2
投票

您的 新闻分发服务似乎遇到了一些问题,特别是与“FreeRV”类型相关的问题。别担心,我会帮你解决问题的。

您面临的问题可能有一个简单的解决方案。首先,仔细检查您是否使用正确的格式和参数来添加新的发行版。可能是由于拼写错误或细节缺失导致了问题。另外,请确保使用正确的语法将分发类型指定为“FreeRV”。

如果您仍然遇到障碍,请考虑联系您正在使用的平台的客户支持。他们通常反应灵敏,可以根据您的情况提供具体指导。当您联系他们时,最好提供屏幕截图或描述您正在采取的步骤,因为这可以帮助他们更准确地查明问题。

不要灰心!技术故障发生在我们最优秀的人身上。只需深吸一口气,仔细执行这些步骤,您很可能会找到让您重回正轨的解决方案。请记住,您解决的每个问题都是掌握此过程的一步。你得到了这个!

说到技术故障,让我分享一些我自己经历的轶事。不久前,我正在为研讨会建立在线活动注册系统。一切看起来都很好,直到我在支付网关集成方面遇到了障碍。原来我漏掉了 API 密钥中的一位数字!当我发现这个小错误后,一切就都迎刃而解了。因此,请留意这些小细节——它们可以带来截然不同的结果。祝你好运,愿你的新闻发布之旅从此一帆风顺!

© www.soinside.com 2019 - 2024. All rights reserved.