hxtorch.spiking.backend.module_manager.AbstractModuleManager

class hxtorch.spiking.backend.module_manager.AbstractModuleManager

Bases: abc.ABC

Abstract base class for module manager

__init__()

Methods

__init__()

add_node(module, sources, target)

Adds a new module to the manager.

clear()

Clear the internal graph and remove the module -> node and wrapper -> node mapping

done()

Create a list of elements of form (module, sources, targets), which can be looped in the correct order.

abstract add_node(module: hxtorch.spiking.backend.module_manager.Module, sources: hxtorch.spiking.backend.module_manager.Source, target: hxtorch.spiking.backend.module_manager.Target)

Adds a new module to the manager. This method adds a node to the internal graph to represent the module. It assigns edges to this node holding the data in sources, resp. target. :param module: Module to represented in to the graph. :param sources: The sources to the node representing module. :param targets: The targets of the node representing module.

clear()

Clear the internal graph and remove the module -> node and wrapper -> node mapping

abstract done()List[Tuple[hxtorch.spiking.backend.module_manager.Module, hxtorch.spiking.backend.module_manager.Source, hxtorch.spiking.backend.module_manager.Target]]

Create a list of elements of form (module, sources, targets), which can be looped in the correct order. :return: Returns the a list of nodes to be executed.