2016-04-15 55 views
0

我想使用Brightway的ParallelMonteCarloMultiMonteCarlo類,但已遇到KeyError。我在萊威項目與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'

我的問題是:爲什麼?

回答

0

這是一個known issue due to differences in how multiprocessing works on Windows and Unix。具體而言,在Windows上,項目設置不正確,導致KeyError。因此,這不是一個堆棧溢出問題。

+0

同意,並將從現在起在其他地方報告錯誤。 – MPa

+0

由於[項目名稱被明確傳遞給工作人員],多處理現在應該在大多數情況下工作(https://bitbucket.org/cmutel/brightway2-calc/commits/e217412870d04bdab560814d42be6ce6845ee144)。但是,如果您使用環境變量設置自定義目錄,則可能仍然存在問題。 –

相關問題