samna.dynapcnnB#

Submodules#

Module content#

class samna.dynapcnnB.DynapcnnBModel#

Bases: pybind11_object

DynapCNN-B is a comprehensive, multicore spiking neural network processing chip capable of supporting large-scale spiking convolutional neural network (SCNN) with a fully asynchronous chip architecture. It is fully configurable with the spiking neuron capacity of 0.32 million. DynapCNN-B can provide intelligence upon the scene at only mW with a response latency in few million seconds for classical applications, such as:

  • Event streaming classification

  • Pattern recognition

  • Smart device control, e.g. home appliance gesture control

  • Behavior detection

  • Security/safety monitoring to identify intruders or dangerous conditions.

  • Ultra-low power edge computing

apply_configuration(self: samna.dynapcnnB.DynapcnnBModel, arg0: samna.dynapcnnB.configuration.DynapcnnConfiguration) None#

Apply a configuration to the device.

The configuration will first be validated. If the configuration is not valid this function will throw an exception with an error message describing the validation failure.

Parameters:

config (DynapcnnConfiguration) – Configuration to validate and apply.

get_configuration(self: samna.dynapcnnB.DynapcnnBModel) samna.dynapcnnB.configuration.DynapcnnConfiguration#

Returns a copy of the current configuration of the device.

Note that this is simply a copy of configuration provided by the last successful call to apply_configuration(). This function does not read physical device state.

get_sink_node(self: samna.dynapcnnB.DynapcnnBModel) samna.DeviceSinkNode_dynapcnn_b_event_input_event#

Get the handle to the model sink node

The model sink node ties into the filter system. It will transmit all events sent to sink node to the device represented by the DynapCNN-B model.

To write events to this sink node, a BasicSourceNode must be instantiated and connected to the sink as follows:

source = samna.graph.source_to(dk.get_model().get_sink_node())
source.write([evt1, evt2, evt3, ...])
Returns:

A handle to the model sink node.

get_source_node(self: samna.dynapcnnB.DynapcnnBModel) samna.DeviceSourceNode_dynapcnn_b_event_output_event#

Get the handle to the model source node

The model source node ties into the filter system. It will emit all events produced by the device represented by the DynapCNN-B model

To read events from this source node, a BasicSinkNode must be instantiated and connected to the source as follows:

buf = samna.graph.sink_from(dk.get_model().get_source_node())
events = buf.get_events() # an array of events will be returned
Returns:

A handle to the model sink node.

reset(self: samna.dynapcnnB.DynapcnnBModel) None#

Reset all state memory.

samna.dynapcnnB.validate_configuration(arg0: samna.dynapcnnB.configuration.DynapcnnConfiguration) Tuple[bool, str]#

Validate the given configuration.

Parameters:

config (dynapcnnB.configuration.DynapcnnConfiguration) – The configuration to validate.

Returns:

A pair of the validation result and the analysis string.