causal-forest icon indicating copy to clipboard operation
causal-forest copied to clipboard

Parallel Problems

Open spot92 opened this issue 4 years ago • 1 comments

I am able to run your code when I manually set num_workers = 1, but anytime I try to use parallel, I get the following:

File "", line 1, in cf.fit(X, w, Y)

File "C:\Users\levic\Desktop\Oregon\forest.py", line 154, in fit seed_counter=self.seed_counter,

File "C:\Users\levic\Desktop\Oregon\forest.py", line 327, in fit_causalforest for i in range(num_trees)

File "C:\Users\levic\Anaconda3\lib\site-packages\joblib\parallel.py", line 921, in call if self.dispatch_one_batch(iterator):

File "C:\Users\levic\Anaconda3\lib\site-packages\joblib\parallel.py", line 759, in dispatch_one_batch self._dispatch(tasks)

File "C:\Users\levic\Anaconda3\lib\site-packages\joblib\parallel.py", line 716, in _dispatch job = self._backend.apply_async(batch, callback=cb)

File "C:\Users\levic\Anaconda3\lib\site-packages\joblib_parallel_backends.py", line 182, in apply_async result = ImmediateResult(func)

File "C:\Users\levic\Anaconda3\lib\site-packages\joblib_parallel_backends.py", line 549, in init self.results = batch()

File "C:\Users\levic\Anaconda3\lib\site-packages\joblib\parallel.py", line 225, in call for func, args, kwargs in self.items]

File "C:\Users\levic\Anaconda3\lib\site-packages\joblib\parallel.py", line 225, in for func, args, kwargs in self.items]

File "C:\Users\levic\Desktop\Oregon\forest.py", line 368, in _fit_single_tree_for_forest critparams=treeparams,

File "C:\Users\levic\Desktop\Oregon\tree.py", line 55, in fit_causaltree X=X, t=t, y=y, index=index, critparams=critparams, idparams=idparams,

File "C:\Users\levic\Desktop\Oregon\tree.py", line 101, in _fit_node X=X, t=t, y=y, index=index, min_leaf=critparams["min_leaf"],

File "C:\Users\levic\Desktop\Oregon\tree.py", line 203, in _find_optimal_split min_leaf=min_leaf,

File "C:\Users\levic\Anaconda3\lib\site-packages\numba\dispatcher.py", line 376, in _compile_for_args error_rewrite(e, 'typing')

File "C:\Users\levic\Anaconda3\lib\site-packages\numba\dispatcher.py", line 343, in error_rewrite reraise(type(e), e, None)

File "C:\Users\levic\Anaconda3\lib\site-packages\numba\six.py", line 658, in reraise raise value.with_traceback(tb)

TypingError: Invalid use of Function() with argument(s) of type(s): (array(float64, 2d, C), array(bool, 2d, C))

  • parameterized In definition 0: All templates rejected with literals. In definition 1: All templates rejected without literals. In definition 2: All templates rejected with literals. In definition 3: All templates rejected without literals. In definition 4: All templates rejected with literals. In definition 5: All templates rejected without literals. In definition 6: All templates rejected with literals. In definition 7: All templates rejected without literals. In definition 8: All templates rejected with literals. In definition 9: All templates rejected without literals. In definition 10: TypeError: unsupported array index type array(bool, 2d, C) in [array(bool, 2d, C)] raised from C:\Users\levic\Anaconda3\lib\site-packages\numba\typing\arraydecl.py:71 In definition 11: TypeError: unsupported array index type array(bool, 2d, C) in [array(bool, 2d, C)] raised from C:\Users\levic\Anaconda3\lib\site-packages\numba\typing\arraydecl.py:71 This error is usually caused by passing an argument of a type that is unsupported by the named function. [1] During: typing of intrinsic-call at C:\Users\levic\Desktop\Oregon\tree.py (259)

spot92 avatar Apr 25 '20 19:04 spot92

Hello spot92, thanks for finding my repository and playing around with my code.

I presume you were running the code on a Windows machine. Unfortunately I haven't tested the code on a Windows machine yet. I will do so once I continue to work on this project.

Sadly I cannot recommend using my software at the moment. I actually plan on rewriting the package to wrap existing C++ code which is fully tested. Then I will also test that all features run on all operating systems..

timmens avatar Apr 25 '20 19:04 timmens