-
Notifications
You must be signed in to change notification settings - Fork 17
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
change from internal integrator to DiffEq.jl (only IZ) #16
base: master
Are you sure you want to change the base?
Conversation
Great work!
Yes, absolutely, that's a great idea!
I think we generally want to keep the One thing that needs doing: you haven't yet added the new dependencies ( I'm going to make my own PR or two to get the package ready for this PR, specifically I can handle:
|
Sorry, nevermind, this PR hasn't yet been rebased on master. @Modatu can you rebase on SpikingNeuralNetworks master branch? |
Can I rebase? Isn't that only possible with write permissions on this repo? |
You do the rebase locally and then force-push to your branch. Assuming you push your commits to a remote called
If you'd like practice with git rebase, I recommend trying the tutorial at https://git-rebase.io/ |
2f874df
to
95c1bde
Compare
@jpsamaroo Thanks! I rebased to master and added the dependencies to the Project.toml |
Going forward I will try to incorporate the IZParameter into the ArrayPartition. |
Ok @Modatu, can you rebase again? My latest PR has made it so that we can specify what types to use for neuron/synapse internal fields, which is key for doing fancy things like doing Autodiff or running on GPUs (although it may not have been strictly required, it's very good to have). What we need to do now is to modify Let me know if you'd like help with any of this, as I can push commits to your branch. |
Also regarding the Note that some of the models that use |
55953e0
to
35c742a
Compare
@jpsamaroo I did the rebase, but it was a little bit confusing and the auto merge did not really work. I looked at integrating the Parameters into |
Ok, no worries, I'm fixing it up locally and also getting the interface prepared so that this actually works. I'll ping you once it's pushed. |
Co-Authored-By: Julian P Samaroo <[email protected]>
35c742a
to
c6ba28d
Compare
I've completed the internal changes to make SNN's One thing to note is that the old |
@jpsamaroo: BTW, if I try to run your code in examples/iz_neuron.jl I get: Otherwise, I really like the progress! |
Due to the complexity of this approach, and my lack of free time, I've mostly shelved this PR. I know @wsphillips is interested in doing this sort of thing, but he's starting from a purely DiffEq/MTK approach, which I think is probably a better way to get started. |
Ok, thats unfortunate. |
Writing from scratch using ModelingToolkit.jl + component modeling so that we can flexibly performance optimize user models and take advantage of the SciML ecosystem. |
Sounds great, I opened a discussion in you FutureNeuralSimulation repo. Maybe we can move there for further discussion? |
This is only a first try and so far introduces breaking changes!
What works:
Integration of several IZ neurons over time (see examples/iz_neuron.jl) in a broadcasting friendly manner (thanks a lot to @jpsamaroo).
Questions that arise for me now:
Next steps (as suggested by @jpsamaroo):
“thread” do parameter through functions leading from sim! to integrate! for in-place (IIP)
OOP has to be figured out later (for Autodiff, if we want that, low priority)