scidash / neuronunit

A package for data-driven validation of neuron and ion channel models using SciUnit
http://neuronunit.scidash.org
38 stars 24 forks source link

Exhaustive search generates iterator, computes rheobase, but then hangs. #134

Closed russelljjarvis closed 6 years ago

russelljjarvis commented 6 years ago

After spending some time investigating this issue, I am starting to think that there might be problems to do with simultaneous file writing in get_neab.py. It is well documented that simultaneous parallel file writing leads to thread lock, and not only that these operations are unnecessary anyway. I will try to change the use and implantation of get_neab to stop threadlocking. Also it is unclear how and why the NSGA GA avoids these issues.

rgerkin commented 6 years ago

So you are saying that the GA doesn't hang but exhaustive search does due to this issue?

russelljjarvis commented 6 years ago

I believe so, although that defies common sense because the GA is more complex.

russelljjarvis commented 6 years ago

This code works better. It errors for a different reason (capabilities/spike_functions reasons), where I accidentally changed the capabilities/spike_functions.py code as I was not installing 'neo==0.5.2' by default.

I do not understand the critical difference between russelljarvis/functional and scidash/test_branch but I believe running a diffing program over them should help.

In retrospect I think the problem may have been that values with rheobase<=0pA were still not filtered out effectively. Additionally the branches may have varied in backends.py quite a lot.

I merged the branch functional into test_branch am aiming to demonstrate test_branches functionality, by running it on travis at:

https://travis-ci.org/russelljjarvis/neuronunit

rgerkin commented 6 years ago

@russelljjarvis What is the status of this?

russelljjarvis commented 6 years ago

Fixed ages ago.