【问题标题】:Python - overflow encountered in expPython - exp中遇到溢出
【发布时间】:2016-04-19 20:54:08
【问题描述】:

我在我正在开发的模型中使用了一个公式,当它运行时会产生 RuntTimeWarning:exp 中遇到的溢出。从我所读到的内容中,我的理解是,这是由于在计算数据类型时使用了过多的数字。

我的公式存储到一个 numpy 数组中,那么有没有一种方法可以更改数据类型以便可以计算这些值?

谢谢

【问题讨论】:

  • 您能否提供一个minimal and verifiable 示例来说明您发生了什么,以便我们尝试修复它?你不需要把你的公式,只是一个模拟你的问题的最小例子。如果没有更多关于这个问题的知识,numpy 的.astype 是改变数组类型的原因。

标签: python numpy overflow


【解决方案1】:

这听起来像XY problem

虽然更高精度的数据类型可能会解决这个问题,但这通常会以性能和可用性为代价。直接使用 numpy 是不可能的,但可以使用 mpmath 来完成。更多详情请见in this question

在采取此类措施之前:

  1. 验证这些大数字实际上是正确的行为,而不是由更进一步的错误引起的。

  2. 看看是否可以对您的公式进行对数转换以避免大数字。

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2018-10-11
    相关资源
    最近更新 更多