-
Notifications
You must be signed in to change notification settings - Fork 143
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
Recurrent connectivity hangs on execution #100
Comments
Is this because both From def run_spk(self):
s_in = self.s_in.recv()
a_out = self.weights[:, s_in].sum(axis=1)
self.a_out.send(a_out)
self.a_out.flush() From def run_spk(self):
a_in_data = self.a_in.recv()
self.u[:] = self.u * (1 - self.du)
self.u[:] += a_in_data
bias = self.bias * (2**self.bias_exp)
self.v[:] = self.v * (1 - self.dv) + self.u + bias
s_out = self.v >= self.vth
self.v[s_out] = 0 # Reset voltage to 0
self.s_out.send(s_out) |
Did you look into this issue where I had a similar problem #32? |
I wasn't aware of this, thanks Ashish. How did you end up solving it? Could that solution be applied here? |
Yes. Andreas' pointer solved the issue. Due to the recurrent nature of the connections, there was an InPort that ended up waiting indefinitely for a signal. I was able to solve it by changing the order of recv() and send() in the run_spk function of one of my process models involved in the recurrent connection. Depending on what behavior you want you'll have to change the order of send() and recv() in one of your process models above |
Both LIF and DENSE seem to be wrong here:
Either DENSE should first send the buffered a_out from the previous time steps and only accumulate a_out for future time steps. Or LIF should first update its neurons and then grab and buffer the a_out for the next time step. It probably makes sense to implement the DendAccum activation circular buffer that we have in Loihi right now (even if we don't support explicit synaptic delays at the moment) because we need at least an implicit delay of 1 to not deadlock. |
When creating a simple recurrent network, for instance a LIF that connects to itself via Dense, execution hangs indefinitely.
The text was updated successfully, but these errors were encountered: