Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Weird bug with n_jobs #6

Open
jona-sassenhagen opened this issue Apr 25, 2016 · 1 comment
Open

Weird bug with n_jobs #6

jona-sassenhagen opened this issue Apr 25, 2016 · 1 comment

Comments

@jona-sassenhagen
Copy link
Collaborator

Creating forward models fails when n_jobs is negative. (Works when it's positive.)
Will see if I can find anything.

Employing the head->MRI coordinate transform with the BEM model.
BEM model dict is now set up

Source spaces are in head coordinates.
Checking that the sources are inside the bounding surface (will take a few...)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/numpy/lib/shape_base.py in array_split(ary, indices_or_sections, axis)
    403         # handle scalar case.
--> 404         Nsections = len(indices_or_sections) + 1
    405         div_points = [0] + list(indices_or_sections) + [Ntotal]

TypeError: object of type 'int' has no len()

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-13-662c1c585ef7> in <module>()
      4     recordings_path=recordings_path,
      5     info_from=(('data_type', "task_story_math"), ('run_index', 0)),
----> 6     n_jobs=-8
      7 )
      8 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/hcp-0.1.dev0-py3.5.egg/hcp/workflows/inverse.py in make_mne_forward(anatomy_path, subject, recordings_path, info_from, fwd_params, src_params, hcp_path, n_jobs)
     92     fwd = mne.make_forward_solution(
     93         info, trans=head_mri_t, bem=bem_sol, src=src_subject,
---> 94         n_jobs=n_jobs)
     95 
     96     return dict(fwd=fwd, src_subject=src_subject,

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in make_forward_solution(info, trans, src, bem, fname, meg, eeg, mindist, ignore_ref, overwrite, n_jobs, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, *args, **kwargs)
    607         with use_log_level(verbose_level):
    608             return function(*args, **kwargs)
--> 609     return function(*args, **kwargs)
    610 
    611 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in make_forward_solution(info, trans, src, bem, fname, meg, eeg, mindist, ignore_ref, overwrite, n_jobs, verbose)
    582         update_kwargs, bem = _prepare_for_forward(
    583             src, mri_head_t, info, bem, mindist, n_jobs, bem_extra, trans,
--> 584             info_extra, meg, eeg, ignore_ref, fname, overwrite)
    585     del (src, mri_head_t, trans, info_extra, bem_extra, mindist,
    586          meg, eeg, ignore_ref)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in _prepare_for_forward(src, mri_head_t, info, bem, mindist, n_jobs, bem_extra, trans, info_extra, meg, eeg, ignore_ref, fname, overwrite, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, *args, **kwargs)
    607         with use_log_level(verbose_level):
    608             return function(*args, **kwargs)
--> 609     return function(*args, **kwargs)
    610 
    611 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in _prepare_for_forward(src, mri_head_t, info, bem, mindist, n_jobs, bem_extra, trans, info_extra, meg, eeg, ignore_ref, fname, overwrite, verbose)
    468     if not bem['is_sphere']:
    469         inner_skull = _bem_find_surface(bem, 'inner_skull')
--> 470         _filter_source_spaces(inner_skull, mindist, mri_head_t, src, n_jobs)
    471         logger.info('')
    472 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _filter_source_spaces(surf, limit, mri_head_t, src, n_jobs, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, *args, **kwargs)
    607         with use_log_level(verbose_level):
    608             return function(*args, **kwargs)
--> 609     return function(*args, **kwargs)
    610 
    611 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _filter_source_spaces(surf, limit, mri_head_t, src, n_jobs, verbose)
   2013 
   2014         # Check that the source is inside surface (often the inner skull)
-> 2015         outside = _points_outside_surface(r1s, surf, n_jobs)
   2016         omit_outside = np.sum(outside)
   2017 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _points_outside_surface(rr, surf, n_jobs, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, *args, **kwargs)
    607         with use_log_level(verbose_level):
    608             return function(*args, **kwargs)
--> 609     return function(*args, **kwargs)
    610 
    611 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _points_outside_surface(rr, surf, n_jobs, verbose)
   2070     parallel, p_fun, _ = parallel_func(_get_solids, n_jobs)
   2071     tot_angles = parallel(p_fun(surf['rr'][tris], rr)
-> 2072                           for tris in np.array_split(surf['tris'], n_jobs))
   2073     return np.abs(np.sum(tot_angles, axis=0) / (2 * np.pi) - 1.0) > 1e-5
   2074 

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/numpy/lib/shape_base.py in array_split(ary, indices_or_sections, axis)
    408         Nsections = int(indices_or_sections)
    409         if Nsections <= 0:
--> 410             raise ValueError('number sections must be larger than 0.')
    411         Neach_section, extras = divmod(Ntotal, Nsections)
    412         section_sizes = ([0] +

ValueError: number sections must be larger than 0.
@dengemann
Copy link
Member

Maybe an MNE issue? Can you try with MNE sampling data? I think there was
something ... long time ago. I never use negative numbers in joblib for
some classical conditioning reason...

On Tue, Apr 26, 2016 at 12:13 AM jona-sassenhagen notifications@github.com
wrote:

Creating forward models fails when n_jobs is negative. (Works when it's
positive.)
Will see if I can find anything.

Employing the head->MRI coordinate transform with the BEM model.
BEM model dict is now set up

Source spaces are in head coordinates.

Checking that the sources are inside the bounding surface (will take a few...)

TypeError Traceback (most recent call last)
/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/numpy/lib/shape_base.py in array_split(ary, indices_or_sections, axis)
403 # handle scalar case.
--> 404 Nsections = len(indices_or_sections) + 1
405 div_points = [0] + list(indices_or_sections) + [Ntotal]

TypeError: object of type 'int' has no len()

During handling of the above exception, another exception occurred:

ValueError Traceback (most recent call last)
in ()
4 recordings_path=recordings_path,
5 info_from=(('data_type', "task_story_math"), ('run_index', 0)),
----> 6 n_jobs=-8
7 )
8

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/hcp-0.1.dev0-py3.5.egg/hcp/workflows/inverse.py in make_mne_forward(anatomy_path, subject, recordings_path, info_from, fwd_params, src_params, hcp_path, n_jobs)
92 fwd = mne.make_forward_solution(
93 info, trans=head_mri_t, bem=bem_sol, src=src_subject,
---> 94 n_jobs=n_jobs)
95
96 return dict(fwd=fwd, src_subject=src_subject,

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in make_forward_solution(info, trans, src, bem, fname, meg, eeg, mindist, ignore_ref, overwrite, n_jobs, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, _args, *_kwargs)
607 with use_log_level(verbose_level):
608 return function(_args, *_kwargs)
--> 609 return function(_args, *_kwargs)
610
611

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in make_forward_solution(info, trans, src, bem, fname, meg, eeg, mindist, ignore_ref, overwrite, n_jobs, verbose)
582 update_kwargs, bem = _prepare_for_forward(
583 src, mri_head_t, info, bem, mindist, n_jobs, bem_extra, trans,
--> 584 info_extra, meg, eeg, ignore_ref, fname, overwrite)
585 del (src, mri_head_t, trans, info_extra, bem_extra, mindist,
586 meg, eeg, ignore_ref)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in _prepare_for_forward(src, mri_head_t, info, bem, mindist, n_jobs, bem_extra, trans, info_extra, meg, eeg, ignore_ref, fname, overwrite, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, _args, *_kwargs)
607 with use_log_level(verbose_level):
608 return function(_args, *_kwargs)
--> 609 return function(_args, *_kwargs)
610
611

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/forward/_make_forward.py in _prepare_for_forward(src, mri_head_t, info, bem, mindist, n_jobs, bem_extra, trans, info_extra, meg, eeg, ignore_ref, fname, overwrite, verbose)
468 if not bem['is_sphere']:
469 inner_skull = _bem_find_surface(bem, 'inner_skull')
--> 470 _filter_source_spaces(inner_skull, mindist, mri_head_t, src, n_jobs)
471 logger.info('')
472

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _filter_source_spaces(surf, limit, mri_head_t, src, n_jobs, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, _args, *_kwargs)
607 with use_log_level(verbose_level):
608 return function(_args, *_kwargs)
--> 609 return function(_args, *_kwargs)
610
611

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _filter_source_spaces(surf, limit, mri_head_t, src, n_jobs, verbose)
2013
2014 # Check that the source is inside surface (often the inner skull)
-> 2015 outside = _points_outside_surface(r1s, surf, n_jobs)
2016 omit_outside = np.sum(outside)
2017

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _points_outside_surface(rr, surf, n_jobs, verbose)

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/utils.py in verbose(function, _args, *_kwargs)
607 with use_log_level(verbose_level):
608 return function(_args, *_kwargs)
--> 609 return function(_args, *_kwargs)
610
611

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/mne-0.12.dev0-py3.5.egg/mne/source_space.py in _points_outside_surface(rr, surf, n_jobs, verbose)
2070 parallel, p_fun, _ = parallel_func(_get_solids, n_jobs)
2071 tot_angles = parallel(p_fun(surf['rr'][tris], rr)
-> 2072 for tris in np.array_split(surf['tris'], n_jobs))
2073 return np.abs(np.sum(tot_angles, axis=0) / (2 * np.pi) - 1.0) > 1e-5
2074

/home/FB/fb05/sassenha/anaconda3/lib/python3.5/site-packages/numpy/lib/shape_base.py in array_split(ary, indices_or_sections, axis)
408 Nsections = int(indices_or_sections)
409 if Nsections <= 0:
--> 410 raise ValueError('number sections must be larger than 0.')
411 Neach_section, extras = divmod(Ntotal, Nsections)
412 section_sizes = ([0] +

ValueError: number sections must be larger than 0.


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants