2016-04-15 6 views
0

Ich versuche, Brightways ParallelMonteCarlo und MultiMonteCarlo Klasse zu verwenden, aber in einem KeyError gelaufen sind. Ich bin in einem Brightway Projekt mit einer LCI Datenbank:Multi und Parallel Monte Carlo fehlgeschlagen mit Schlüsselfehler (auf Datenbankname)

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

eine Aktivität auswählen und eine Methode:

In [2] db = bw.Database('ecoinvent 3_2 CutOff') 
     act = db.random() 
     method = ('CML 2001', 'climate change', 'GWP 100a') 

Mein Code ist wie folgt:

In [3] ParallelMC_LCA = bw.ParallelMonteCarlo({act:1}, 
               method = myMethod, 
               iterations=1000, 
               cpus=mp.cpu_count()) 
     results = np.array(ParallelMC_LCA.calculate()) 

und

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()) 

Beide geben mir eine KeyError: 'ecoinvent 3_2 CutOff'.

Meine Frage ist: warum?

Antwort

0

Dies ist ein known issue due to differences in how multiprocessing works on Windows and Unix. Unter Windows ist das Projekt nicht korrekt eingestellt, was zu einem KeyError führt. Daher ist es keine Stack Overflow-Frage.

+0

Stimmen Sie zu, und von nun an werden Fehler an anderer Stelle gemeldet. – MPa

+0

Multiprocessing sollte jetzt in _most_ cases funktionieren, da [projektnamen explizit an workers übergeben werden] (https://bitbucket.org/cmutel/brightway2-calc/commits/e217412870d04bdab560814d42be6ce6845ee144). Wenn Sie jedoch ein benutzerdefiniertes Verzeichnis mit einer Umgebungsvariablen festlegen, haben Sie möglicherweise weiterhin Probleme. –

Verwandte Themen