如何解决conda中的MemoryError?

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

我正在尝试在conda环境中运行pyomo脚本,但是不知道为什么,这会花费大量时间,并最终显示Memory Error。最主要的一点是,我在虚拟机上做了同样的事情,并且运行良好。有什么想法吗?

系统:Ubuntu 16.04Conda 4.7.12

这是我通常使用python(python script.py)运行的脚本

from __future__ import division
from pyomo.environ import *
from pyomo.opt import SolverFactory
import sys

model = AbstractModel()
model.n = Param() 
model.T = RangeSet(1, model.n)
model.a = Param(model.T)

data = DataPortal()
data.load(filename='N.csv', range='N', param=model.n)
data.load(filename='A.csv', range= 'A', param=model.a)

def somma(model):
    return sum(model.a[t] for t in model.T)

model.obj= Objective(rule=somma)

instance = model.create_instance(data)
opt = SolverFactory('glpk')
results = opt.solve(instance) 
instance.solutions.store_to(results)

stdout_backup = sys.stdout

with open('results.yml', 'a') as f:
    sys.stdout = f
    results.write()

sys.stdout = stdout_backup

results.write()

这是错误

File "/home/chiara/anaconda3/envs/my_env/lib/python3.7/site-packages/mpmath/libmp/libelefun.py", line 76, in <module>
    cache_prec_steps += [min(2**k,LOG_TAYLOR_PREC)+20] * 2**(k-1)
MemoryError
<frozen importlib._bootstrap>(177): <frozen importlib._bootstrap>(178): <frozen importlib._bootstrap>(182): <frozen importlib._bootstrap>(183): <frozen importlib._bootstrap>(185): 
python anaconda out-of-memory conda pyomo
1个回答
0
投票

这是conda-forge中GMP 6.2.0 build 0的问题,并已在6.2.0 build 1中修复。使用conda update gmp更新gmp应该可以解决此问题。

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