-
Notifications
You must be signed in to change notification settings - Fork 358
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
Add iaf_psc_exp_ps_lossless model by Krishnan et al #901
Add iaf_psc_exp_ps_lossless model by Krishnan et al #901
Conversation
…hms on precise version of exp-neuron in
This reverts commit 3ae028f.
# Conflicts: # precise/iaf_psc_alpha_canon.cpp # testsuite/unittests/test_dcgen_versus_I_e.sli
I encountered a problem with the This needs to be resolved before merging! |
Hi, so I was assigned by Moritz to help completing this pull request.
Also, do you want me to work directly with (i.e. push to) the heplesser:krishnanj-time-reversal-precise branch, or should I use my own branch that will then in the end be merged into nest:master? (sorry if this is clear) |
@ChristianKeup Welcome aboard! You summarized the remaining tasks quite well. Some comments:
Concerning the practical procedure: This PR is from heplesser:krishnanj-time-reversal-precise, i.e., branch |
@heplesser concerning |
@stinebuu Thanks for the detective work! |
I have found a problem where the lossless neuron is behaving for small inputs close to threshold like a normal unprecise ias_psc_exp neuron. I'm currently still looking into it. |
…ive simultaneously.
@ChristianKeup I have just pushed a change that solves the problem with issue-77.sil by explicitly skipping state propagation and spike check if two spikes arrive at the same time, so that |
precise/iaf_psc_exp_ps_lossless.cpp
Outdated
if ( not numerics::is_nan( spike_time_max ) ) | ||
{ | ||
emit_spike_( origin, lag, V_.h_ms_ - last_offset, spike_time_max ); | ||
} | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@heplesser thanks!
If I see it correctly, the issue of a ministep == 0
is handled slightly differently in iaf_psc_exp_ps.cpp
, where this is done by checking that dt != 0
in propagate_( dt )
and emit_spike( ... , dt )
.
I think it does the same, but just wanted to mention this in case you didn't do it differently on purpose
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChristianKeup Ah, I overlooked that. I will update my code.
The problem I mentioned turned out to be due to external currents, as from a In the process I checked the equations implemented in Now the model is working nicely. I fixed the current unittest and also added the exact same unittest for the lossy |
Changes to implementation and test of iaf_psc_exp_ps_lossless for Nest PR nest#901
@Silmathoron @stinebuu I believe this PR is now in order. Could you have another look? For background on some of the changes and design decisions, please see also the discussion on heplesser#22 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found a tiny typo, otherwise it looks good.
precise/iaf_psc_exp_ps_lossless.cpp
Outdated
} | ||
else | ||
{ | ||
// We only get here if there is at least on event, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am guessing it is supposed to be 'one' and not 'on'?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stinebuu Fixed.
Fixed typo in comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good for me
This PR is a follow-up to the retired #648. Two issues remain at present: