Giter Club home page Giter Club logo

Comments (18)

GaelVaroquaux avatar GaelVaroquaux commented on June 18, 2024

3822.42 seconds in my machine. Mostly because of Searchlight.

In any case this makes it really painful to build the doc and to the user it
looks as if the example was broken (there is no output whatsoever for one
hour).

OK, the fact that there is no output needs to be changed.

That said, we need real examples on nisl, not only toys. This means that
we will have to cope with long-running doc builds (and yes searchlight is
slow and useless).

from nilearn.

AlexandreAbraham avatar AlexandreAbraham commented on June 18, 2024

3822.42 seconds in my machine. Mostly because of Searchlight.

On my machine, it takes 2 minutes (without any cache).

In any case this makes it really painful to build the doc and to the user it looks as if the example was broken (there is no output whatsoever for one hour).

Normally, the progression is shown like that:
Job #1, processed 190/1435 voxels(13.24%, 76 seconds remaining)

So there must be another problem...

from nilearn.

GaelVaroquaux avatar GaelVaroquaux commented on June 18, 2024

Normally, the progression is shown like that:
Job #1, processed 190/1435 voxels(13.24%, 76 seconds remaining)

So there must be another problem...

It could be that the output is captured by the gen_rst.py. There is a
'Tee' object that is supposed to sort this out, but... Need investigation

from nilearn.

pgervais avatar pgervais commented on June 18, 2024

I'm in the process of changing the Searchlight class API (see PR #65). I'll have a look on this problem at the same time.

from nilearn.

AlexandreAbraham avatar AlexandreAbraham commented on June 18, 2024

It could be that the output is captured by the gen_rst.py. There is a 'Tee' object that is supposed to sort this out, but...

I remember adressing this problem by outputing the progress in the standard error. Maybe something has been broken since I've done that.

from nilearn.

pgervais avatar pgervais commented on June 18, 2024

The reason why there's no output in the console, is because verbose=1 should be passed to Searchlight, which is not the case in plot_simulated_data.py.

from nilearn.

pgervais avatar pgervais commented on June 18, 2024

On my machine, with one core only, the searchlight part takes 475s.

from nilearn.

fabianp avatar fabianp commented on June 18, 2024

I'm looking into this. It seems to depend on my Python version, maybe it's a problem on my side.

from nilearn.

pgervais avatar pgervais commented on June 18, 2024

After some discussion with Gael, adding estimator=svm.SVR(kernel="linear") to the SearchLight initialization parameters partly solves the problem (this was a bug). The computation time is reduced, and the result is way better.

from nilearn.

fabianp avatar fabianp commented on June 18, 2024

thanks @pgervais I'll try it out

from nilearn.

AlexandreAbraham avatar AlexandreAbraham commented on June 18, 2024

After some discussion with Gael, adding estimator=svm.SVR(kernel="linear") to the SearchLight initialization parameters partly solves the problem (this was a bug). The computation time is reduced, and the result is way better.

Estimated computation time on my machine is ~50 000 seconds.

from nilearn.

GaelVaroquaux avatar GaelVaroquaux commented on June 18, 2024

Estimated computation time on my machine is ~50 000 seconds.

Are you sure that you are talking about the plot_simulated_data example?

from nilearn.

AlexandreAbraham avatar AlexandreAbraham commented on June 18, 2024

Are you sure that you are talking about the plot_simulated_data example?

No, I thought that we were talking about plot_haxby_searchlight...

from nilearn.

pgervais avatar pgervais commented on June 18, 2024

The bug is only in plot_simulated_data.py, not plot_haxby_searchlight.py, because one is a regression, and the other a classification task.

from nilearn.

GaelVaroquaux avatar GaelVaroquaux commented on June 18, 2024
Are you sure that you are talking about the plot_simulated_data example?

No, I thought that we were talking about plot_haxby_searchlight...

So the take home message is that if you put an SVC in a regression pb, it
is very slow, and the same for an SVR in a classification pb. I believe
that it is because of the low explained variance, that makes the
optimization pb hard (probably because of the large number of support
vectors).

from nilearn.

AlexandreAbraham avatar AlexandreAbraham commented on June 18, 2024

The bug is only in plot_simulated_data.py, not plot_haxby_searchlight.py, because one is a regression, and the other a classification task.

That's what was puzzling me ;)

from nilearn.

fabianp avatar fabianp commented on June 18, 2024

THANKS!! works much better now, it went down to 159s which is really reasonable. I promise to have the buildbot working soon.

from nilearn.

GaelVaroquaux avatar GaelVaroquaux commented on June 18, 2024

THANKS!! works much better now, it went down to 159s which is really
reasonable.

Well, thanks for pointing it out. It was useful.

I promise to have the buildbot working soon.

Great!

G

from nilearn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.