jaxsnn.event.hardware.experiment.Synapse

class jaxsnn.event.hardware.experiment.Synapse(experiment, weight: jax.Array)

Bases: jaxsnn.event.hardware.module.Module

Synapse layer

__init__(experiment, weight: jax.Array)None
Parameters
  • in_features – Size of input dimension.

  • out_features – Size of output dimension.

  • experiment – Experiment to append layer to.

Methods

__init__(experiment, weight)

param in_features

Size of input dimension.

add_to_network_graph(builder, pre, post, scale)

Adds the projection to a grenade network builder by providing the population descriptor of the corresponding pre and post population.

register_hw_entity()

Add the synapse layer to the experiment’s projections.

Attributes

add_to_network_graph(builder: _pygrenade_vx_network.NetworkBuilder, pre: _pygrenade_vx_network.PopulationOnNetwork, post: _pygrenade_vx_network.PopulationOnNetwork, scale: float)Tuple[_pygrenade_vx_network.ProjectionOnNetwork, ]

Adds the projection to a grenade network builder by providing the population descriptor of the corresponding pre and post population. Note: This creates one inhibitory and one excitatory population on hardware in order to represent signed hardware weights.

Parameters
  • builder – Greande netowrk builder to add projection to.

  • pre – Population descriptor of pre-population.

  • post – Population descriptor of post-population.

Returns

A tuple of grenade ProjectionOnNetworks holding the descriptors for the excitatory and inhibitory projection.

register_hw_entity()None

Add the synapse layer to the experiment’s projections.

weight: jax.Array