Repository navigation
Add support for delay variables with different delay length - #595
Closed
CloudyDory wants to merge 0 commit into
Closed
CloudyDory wants to merge 0 commit into
CloudyDory wants to merge 0 commit into
Conversation
Member
|
So many thanks. It's very interesting. |
Member
|
However, I have to suggest to use the taichi interface in |
Contributor
Author
|
Thank you for the very valuable suggestion. The performance is indeed an issue here. I am very unfamiliar with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Currently, the synaptic delay variable in BrainPy only support adding a single delay to a group of synapses. In practice, we may encounter situations where a large number of synapses are governed by similar dynamics, but with different delay length. This PR introduce a new class called
HeteroLengthDelayin filebrainpy/_src/math/delayvars.py. It is modified from theLengthDelayclass in the same file, but with the following changes:__init__()requires input the delay length of each synapse, and the number of synapses each pre-synaptic neuron has. The array of delay length should be sorted according to the pre-synaptic neuron index.retrieve()function is a 1-d array of spikes delivered to each synapse. The length of the array is the number of synapses, not the number of post-synaptic neurons.numpyandbrainpy.mathimport at the start of the file.The new class internally stores the previous spikes in a matrix with dimension
[max_delay_length, num_pre_neurons]. It should work when the size of this matrix does not exceed memory constraints.How Has This Been Tested
TO DO
Types of changes
Checklist