Closed a-t-0 closed 1 year ago
Hello,
I have been working on implementing synaptic delays for lava, and have a working version of it. Instead of directly modifying the Dense() process, I copied the code for that and made a modified I called Delay(). I use a 2D matrix of delays similar to how the weights are input into the Dense() process. I'd be more than happy to share the code that I have so far, and submit a pull request for implementing it once it is finished (it still needs to be tested and optimized).
This sounds great. We haven't been able to prioritize support for delays ourselves so far. Thus we are glad that community members are adding new such features. Submitting a PR is the way to move this forward. Once submitted, members of our team will take a look and give feedback on the PR. It might make sense to either factor our shared code with DENSE or simply merge it with DENSE.
Here are some things I'd like to add to the user story:
@frothga Thanks for the suggestions. These features will not be part of this story, but we will add them to existing user stories or create new ones. We are currently implementing support for delays in software simulation for Dense as a start.
User story
As a user, I want to be able to specify synaptic delays in the
Dense
Process to enable algorithmic work.Note: @a-t-0 suggests
dense = Dense(.., delay=5)
as an interface to generate a synaptic connection that induces a delay of 5 timesteps before submitting a spike to the output neuron.Note: A PR has already been filed by another external community member.
Conditions of satisfaction
Acceptance tests
Tasks
Excerpt from original issue by @a-t-0
Dense()
object, might be able to simulate the delay. Alternatively, perhaps there exist other objects that do support the delay between LIF neurons.Dense()
object, and or relevant dependencies, please do share.Thank you everyone for your work on this wonderful platform!