BindsNET/bindsnet
Simulation of spiking neural networks (SNNs) using PyTorch.
📋 What's Changed
- periodicly dependencies updates by @Hananel-Hazan in https://github.com/BindsNET/bindsnet/pull/698
- update by @Hananel-Hazan in https://github.com/BindsNET/bindsnet/pull/699
- Merge pull request #699 from BindsNET/master by @Hananel-Hazan in https://github.com/BindsNET/bindsnet/pull/700
- Bump jinja2 from 3.1.4 to 3.1.5 by @dependabot[bot] in https://github.com/BindsNET/bindsnet/pull/701
- Bump jinja2 from 3.1.4 to 3.1.5 in /docs by @dependabot[bot] in https://github.com/BindsNET/bindsnet/pull/702
- Package maintenance update by @Hananel-Hazan in https://github.com/BindsNET/bindsnet/pull/704
- Sparse batch_eth_mnist by @n-shevko in https://github.com/BindsNET/bindsnet/pull/705
- Update to PyTorch 2.6.0 by @Hananel-Hazan in https://github.com/BindsNET/bindsnet/pull/708
- + 43 more
✨ New Contributors
- @n-shevko made their first contribution in https://github.com/BindsNET/bindsnet/pull/705
- @sakgoyal made their first contribution in https://github.com/BindsNET/bindsnet/pull/710
- @neural-loop made their first contribution in https://github.com/BindsNET/bindsnet/pull/712
- @haoyu-haoyu made their first contribution in https://github.com/BindsNET/bindsnet/pull/742
- @andreapignaz made their first contribution in https://github.com/BindsNET/bindsnet/pull/755
- @steampunc made their first contribution in https://github.com/BindsNET/bindsnet/pull/761
- @Machuka made their first contribution in https://github.com/BindsNET/bindsnet/pull/737
- Full Changelog: https://github.com/BindsNET/bindsnet/compare/0.3.3...0.3.4
✨ What's New
- For more details, check out our documentation.
📦 General Updates:
- Added MulticompartmentConnection [#695](https://github.com/BindsNET/bindsnet/pull/695) by @C-Earl
- Various package updates and reformatting [#542](https://github.com/BindsNET/bindsnet/pull/542)
- Python updated to 3.11 [#550](https://github.com/BindsNET/bindsnet/pull/550)
- PyTorch updated to 2.0 [#630](https://github.com/BindsNET/bindsnet/pull/630)
- Maintenance updates, dependency bumps, and more! [#593](https://github.com/BindsNET/bindsnet/pull/593), [#602](https://github.com/BindsNET/bindsnet/pull/602)
🐛 Bug Fixes:
- Fixed an issue with `net.run` for unconnected layers [#547](https://github.com/BindsNET/bindsnet/pull/547)
- Corrected plotting aspect ratios [#651](https://github.com/BindsNET/bindsnet/pull/651)
- Fixed small bugs in `environment_pipeline` [#579](https://github.com/BindsNET/bindsnet/pull/579)
- Addressed typo errors [#661](https://github.com/BindsNET/bindsnet/pull/661)
⚡ Performance Enhancements:
- Added vector learning rates for all UpdateRules [#552](https://github.com/BindsNET/bindsnet/pull/552)
- CUDA updates and performance fixes [#655](https://github.com/BindsNET/bindsnet/pull/655)
♻️ Code Refactoring:
- Made the code more "Pythonic" [#570](https://github.com/BindsNET/bindsnet/pull/570)
- Removed debug print statements [#566](https://github.com/BindsNET/bindsnet/pull/566)
📝 Examples & Documentation:
- Updated `mnist` examples [#557](https://github.com/BindsNET/bindsnet/pull/557)
- Addressed issues with Read the Docs [#642](https://github.com/BindsNET/bindsnet/pull/642)
📦 Dependency Updates:
- Bumped various dependencies, including `jupyter-server`, `pillow`, `requests`, and more.
- ---
✨ New Contributors
- A warm welcome to our new contributors:
- @williamyao66
- @wchapman
- @ignaciogavier
- @JeremCab
- @maldil
- @ValerioB88
- @0xnurl
- + 7 more
This release summarizes the last changes and improvements in 0.3.1 1. Fix WeightDependentPostPre Post-synaptic update #534 2. Adding Conv1D Conv3D connection and improving Conv2D #526 3. Fixed the MaxPool batch size issue #526 4. Add three local connection classes (1D, 2D, and 3D) supporting multi-channel inputs alongside MNIST example files #536 5. Changing execution order in Izhikevich neuron and inject Vmem in network forward #530 6. Improve installation scripts with Poetry #518, #520 7. Code improvements #515, 8. Documentation improvements #517, #532 Thanks for everyone involved with this release! @danielgafni, @ArefAz , @hafezgh, @amirHossein-Ebrahimi,
📋 Changes
- Fix an issue with accuracy reporting #482
- fix dimensions issues with layers with different shape #488
- Fix dimensions size issue at breakout baseline network #489
- Improve documentation for reservoir #492
- Fix typos #501, #492
This release summarizes the last changes and improvements in 0.2.9 # Changes: 1. Performance optimization of Monitors object (#446) 2. Optimizing variables in connection and neurons objects (#428) 3. Performance increases of PostPre update rule and BoostedLIF (#429) 4. Implement Cumulative Spike Response Model Nodes (#443) 5. Import code from sister project (#438) 6. Update to PyTorch 1.8.1 (#477, #478) 7. Fix misc issues with BindsNET examples (#437, #457, #458, #478, #474 ) Thanks for all the contributors!
This release summarizes the last changes and improvements in 0.2.8 # Changes: 1. Runtime optimization speed up - core functions (#384) . 2. Installation scripts - added python 3.8 and PyTorch 1.6 (#392, #400, #404) 3. Examples - code readability, graphs, and reproducibility (#386, #387, #396, #411). 4. When using GPU, some variables (GYM, reward STDP, and graph related), accidentally stayed on the CPU, now moved to GPU (#388, #403, #406, #409, #412, #420) . 5. More flexibility when building network. Adding the ability to build Network without a designated input layer (#416), now every layer can get external input using a volt injection or spike injection. We know we have some open issues, feel free to give a hand.
This release emphasizes performance enhancements, reordering the examples, and several bug fixes.
This release accompanies our draft submission to Frontiers in Neuroinformatics. It features a number of bug fixes and example scripts used in drafting the paper.
📋 Changes
- A current-based leaky integrate-and-fire neuron model (`CurrentLIFNodes`)
- Lots of code refactoring to conform (a little bit closer) to PEP standards
- Making things look and read nicer
✨ Features
- Other modules exist in a developmental or low-user / low-priority state.
📦 Future work?
- This depends largely on the users and in particular the needs of the [BINDS lab](http://binds.cs.umass.edu/). Some things we would personally like to see include:
- Tighter integration with [PyTorch](https://pytorch.org/). This likely means using more functionality from the `torch.nn.functional` module (e.g., convolution, pooling, activation functions, etc.), or conforming our network API to that of `torch`'s neural network API.
- Automatic smoothing of SNNs: [Recent work](https://pytorch.org/) has shown that it's possible to convert trained deep learning NNs to SNNs without much loss in accuracy. Conversion of PyTorch models or models specified in the [ONNX](https://github.com/onnx/onnx) format may be supported in BindsNET in the future!
- More features! `Nodes` (neuron) types, `Connection` types, `Dataset`s, `learning` functions, and more. In particular, we want to take steps towards making SNNs robust for ML / RL.
- Cheers,
- @djsaunde
