Skip to content

v0.5.0 release with Spiking Nodes

Choose a tag to compare

@ago109 ago109 released this 02 Jun 20:10
· 931 commits to main since this release

Highlights

The release contains several improvements/upgrades, including graph visualization functionality (using networkx and pyvis -- currently this module is under ngclearn.utils.experimental and is optional though it has been tested and used to generate visualizations for all of the models in the Model Museum documentation). Notably, this iteration of ngc-learn showcases how to use its dynamics simulator for modeling networks of spiking neurons with the introduction of the SpNode_LIF (leak integrate-and-fire node) and SpNode_Enc (Poisson spike train encoder) which appear formally in the newly added Walkthrough #7.

The following updates have been made (this list is non-exhaustive):

  • Modification made to decouple/expose the local Hebbian rule system with the introduction of the UpdateRule class and HebbRule and CHebbRule (contrastive rule) a sub-classes (HebbRule usage is illustrated in Walkthrough 7 and is also the default rule used by ngc-learn if nothing is done by the user)
  • Integration of the SpNode_LIF -- leak integrate-and-fire node -- and the SpNode_Enc -- Poisson spike train encoder -- as well as a specialized convenience/helper node FNode_BA (for easily supporting broadcast alignment learning mechanisms)
  • Added new viz_utils module (specifically ngclearn.utils.viz_utils) which also includes support for raster plot creation (for visualizing spike trains)
  • Created Walkthrough #7 which walks through the process of creating a spiking neural network classifier in ngc-learn using the low-level online simulation API
  • Graph visualization (through networkx and pyvis) now offered in ngclearn.utils.experimental
  • Minor patches, doc edits (including updates to API doc and Model Museum -- each model now includes a graphical visualization of their nodes-and-cables graph), and bug testing given new rule API and spiking nodes