Multi и Parallel Monte Carlo терпят неудачу с ключевой ошибкой (в имени базы данных)

Я пытаюсь использовать ParallelMonteCarlo и MultiMonteCarloкласс Brightway, но столкнулся с KeyError. Я работаю в проекте Brightway с базой данных LCI:

In  [1] bw.databases
Out [1] Brightway2 databases metadata with 2 objects:
           biosphere3
           ecoinvent 3_2 CutOff

Выбор активности и метода:

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'.

Мой вопрос: почему?


person MPa    schedule 15.04.2016    source источник


Ответы (1)


Это известная проблема из-за различий в способах многопроцессорной работает в Windows и Unix. В частности, в Windows проект настроен неправильно, что приводит к ошибке KeyError. Таким образом, это не вопрос о переполнении стека.

person Chris Mutel    schedule 15.04.2016
comment
Согласитесь, и с этого момента вы будете сообщать об ошибках в другом месте. - person MPa; 16.04.2016
comment
Многопроцессорность теперь должна работать в большинстве случаев благодаря тому, что имена проектов явно переданы рабочим процессам. Однако, если вы зададите пользовательский каталог с помощью переменной среды, у вас все равно могут возникнуть проблемы. - person Chris Mutel; 07.06.2016