定义回归模型时的大量内存使用

时间:2014-09-15 21:42:16

标签: pymc pymc3

运行泊松回归模型时,我遇到内存问题。随着数据加载并为模型做好准备,python正在使用大约650 MB的内存。一旦我创建模型,

import theano.tensor as t
with pm.Model() as poisson_model:
    # priors for coefficients
    coeffs = pm.Uniform('coeffs', -10, 10, shape=(1, predictors.shape[1]))

    r = t.exp(pm.sum(coeffs*predictors.values, 1))

    obs = pm.Poisson('obs', r, observed=targets)

内存使用量最高可达3 GB。只有350个8位整数的数据点,所以我不知道是什么使用了这么多的内存。

在玩了一下之后,我发现在模型中添加任何内容都会使内存中的内容达到3 GB,甚至可以像

那样简单
with pm.Model() as poisson_model:
    test = pm.Uniform('test', -1, 1)

有关正在发生的事情或我如何深入了解的任何建议?我正在使用新的iMac,Python 2.7和最新版本的PyMC3。感谢。

1 个答案:

答案 0 :(得分:1)

我已经尝试在我的系统上复制这个(Macbook Air,Py 2.7)但是获得了大约80MB的内存使用量。我会尝试一些事情:

  1. 清除theano缓存:

    theano-cache clear

  2. 尝试更新Theano

  3. 从主分支重新安装PyMC

  4. 这些都是猜测,因为我无法复制这个问题,所以我希望其中一个可以解决这个问题。