Multi 和 Parallel Monte Carlo 因键错误而失败(在数据库名称上)
Multi and Parallel Monte Carlo fail with key error (on database name)
我正在尝试使用 Brightway 的 ParallelMonteCarlo
和 MultiMonteCarlo
class 但 运行 进入了 KeyError。我在一个带有 LCI 数据库的 Brightway 项目中:
In [1] bw.databases
Out [1] Brightway2 databases metadata with 2 objects:
biosphere3
ecoinvent 3_2 CutOff
选择 activity 和方法:
In [2] db = bw.Database('ecoinvent 3_2 CutOff')
act = db.random()
method = ('CML 2001', 'climate change', 'GWP 100a')
我的代码如下:
In [3] ParallelMC_LCA = bw.ParallelMonteCarlo({act:1},
method = myMethod,
iterations=1000,
cpus=mp.cpu_count())
results = np.array(ParallelMC_LCA.calculate())
和
In [4] act1 = db.random()
act2 = db.random()
multiMC_LCA = bw.MultiMonteCarlo(demands = [{act1:1}, {act2:1}],
method = myMethod,
iterations = 10)
results = np.array(ParallelMC_LCA.calculate())
都给我一个KeyError: 'ecoinvent 3_2 CutOff'
。
我的问题是:为什么?
这是一个known issue due to differences in how multiprocessing works on Windows and Unix。具体来说,在 Windows 上,项目设置不正确,导致 KeyError
。因此,这不是 Stack Overflow 问题。
我正在尝试使用 Brightway 的 ParallelMonteCarlo
和 MultiMonteCarlo
class 但 运行 进入了 KeyError。我在一个带有 LCI 数据库的 Brightway 项目中:
In [1] bw.databases
Out [1] Brightway2 databases metadata with 2 objects:
biosphere3
ecoinvent 3_2 CutOff
选择 activity 和方法:
In [2] db = bw.Database('ecoinvent 3_2 CutOff')
act = db.random()
method = ('CML 2001', 'climate change', 'GWP 100a')
我的代码如下:
In [3] ParallelMC_LCA = bw.ParallelMonteCarlo({act:1},
method = myMethod,
iterations=1000,
cpus=mp.cpu_count())
results = np.array(ParallelMC_LCA.calculate())
和
In [4] act1 = db.random()
act2 = db.random()
multiMC_LCA = bw.MultiMonteCarlo(demands = [{act1:1}, {act2:1}],
method = myMethod,
iterations = 10)
results = np.array(ParallelMC_LCA.calculate())
都给我一个KeyError: 'ecoinvent 3_2 CutOff'
。
我的问题是:为什么?
这是一个known issue due to differences in how multiprocessing works on Windows and Unix。具体来说,在 Windows 上,项目设置不正确,导致 KeyError
。因此,这不是 Stack Overflow 问题。