-
Notifications
You must be signed in to change notification settings - Fork 220
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
Reproducing Sinusoid oscillator of Supervised learning in spiking neural networks with FORCE training #1445
Conversation
…ral networks with FORCE training
Many thanks (again 😊)! I wonder whether we cannot replace the two network operations with a "creative use" of synapses – this might be a nice showcase for doing this and would make everything more efficient (and enable us to use standalone mode!). It will make things quite a bit less readable, though, not sure... |
Yes, I thought the same thing. I was not really happy with the explicit matrix operations. On the other hand it makes the math more accessible/direct. Do you want to draft a version with Synapse operations? It's easier to discuss/compare with an example at hand. |
I have hacked together a solution that only uses The best solution is probably to go with your implementation for now, but also think about how we can improve syntax to make these things more straightforward in the future. For example, I had one idea that would work quite nicely as an extension of our current syntax, I think: we could extend # linear readout
@network_operation(dt=defaultclock.dt)
def readout(t):
neurons.z = np.dot(neurons.BPhi, neurons.r) by: """...
z = BPhi * r : 1 (summed, shared)
""" in the equations. |
Hi! Thanks for your effort! Did you do some benchmarking between the two implementations? Allowing for
would be cool! Cheers, Sebastian |
It was faster, but not dramatically so. Instead of 1m20s, it ran in something like 42s. With C++ standalone mode, it went further down to 22s. But I think the |
I tried a few things and nothing makes it significantly faster. In general, I'd recommend to use e.g. We can use this example as a use case for the syntax I mentioned earlier (more general discussion: #180). |
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.
Thanks again 🙏
[ci skip]
No description provided.