Skip to content

Latest commit

 

History

History
71 lines (40 loc) · 4.56 KB

File metadata and controls

71 lines (40 loc) · 4.56 KB
graph LR
    ANN_to_SNN_Conversion_Orchestrator["ANN-to-SNN Conversion Orchestrator"]
    Feature_Extractor["Feature Extractor"]
    Data_Based_Normalization["Data-Based Normalization"]
    Spiking_Node_Definitions["Spiking Node Definitions"]
    SNN_Topology_Builder["SNN Topology Builder"]
    ANN_to_SNN_Conversion_Orchestrator -- "calls" --> Feature_Extractor
    ANN_to_SNN_Conversion_Orchestrator -- "calls" --> Data_Based_Normalization
    ANN_to_SNN_Conversion_Orchestrator -- "requests from" --> Spiking_Node_Definitions
    ANN_to_SNN_Conversion_Orchestrator -- "provides to" --> SNN_Topology_Builder
    Feature_Extractor -- "returns to" --> ANN_to_SNN_Conversion_Orchestrator
    Data_Based_Normalization -- "returns to" --> ANN_to_SNN_Conversion_Orchestrator
    Spiking_Node_Definitions -- "provides to" --> ANN_to_SNN_Conversion_Orchestrator
    SNN_Topology_Builder -- "constructs from" --> ANN_to_SNN_Conversion_Orchestrator
Loading

CodeBoardingDemoContact

Details

The ANN-to-SNN Conversion subsystem is primarily encapsulated within the bindsnet.conversion package. Its core functionality is distributed across modules such as conversion.py, nodes.py, and topology.py, which collectively manage the process of transforming Artificial Neural Networks into Spiking Neural Networks.

ANN-to-SNN Conversion Orchestrator

This component acts as the high-level control unit, orchestrating the entire ANN-to-SNN conversion process. It manages the sequence of operations, including data preparation, feature extraction, normalization, and the coordinated construction of the SNN's spiking nodes and network topology. It serves as the primary interface for initiating and managing the conversion.

Related Classes/Methods:

Feature Extractor

Responsible for performing forward passes through the pre-trained Artificial Neural Network (ANN) to capture and extract relevant activations or features from specified layers. These extracted features are crucial for understanding the ANN's learned representations and mapping them effectively to the SNN's spiking behavior.

Related Classes/Methods:

Data-Based Normalization

This component applies data-driven normalization techniques to the extracted ANN activations. Its role is to preprocess and scale the data, ensuring consistency and proper range for effective mapping to SNN spiking rates, thresholds, or other parameters, thereby optimizing the SNN's performance and stability.

Related Classes/Methods:

Spiking Node Definitions

Functions as a repository and factory for various spiking neuron models. It defines the properties and behaviors of different types of spiking neurons (e.g., Integrate-and-Fire, Leaky Integrate-and-Fire) and provides mechanisms to instantiate these models based on the characteristics of the original ANN neurons (e.g., ReLU, Sigmoid units).

Related Classes/Methods:

SNN Topology Builder

Manages the structural translation from the ANN to the Spiking Neural Network (SNN). It handles the creation of layers, establishes connections between spiking nodes, and ensures that the overall network architecture of the SNN accurately reflects the connectivity and organization of the original ANN.

Related Classes/Methods: