Source code for conex.behaviors.neurons.setters
"""
Helper behaviors to communicate with input and output layers
"""
from pymonntorch import Behavior
import torch
[docs]class SensorySetter(Behavior):
"""
Gets input from Layer Object and sets as spike for the population.
"""
[docs] def initialize(self, neurons):
self.layer = neurons.parent_structure
neurons.spikes = neurons.vector(dtype=torch.bool)
[docs] def forward(self, neurons):
if self.layer.x is not None:
neurons.spikes = self.layer.x
else:
neurons.spikes = neurons.vector("zeros", dtype=torch.bool)
[docs]class LocationSetter(Behavior):
"""
Gets location from Layer Object and sets as spike for the population.
"""
[docs] def initialize(self, neurons):
self.layer = neurons.parent_structure
neurons.spikes = neurons.vector(dtype=torch.bool)
[docs] def forward(self, neurons):
if self.layer.loc is not None:
neurons.spikes = self.layer.loc
else:
neurons.spikes = neurons.vector("zeros", dtype=torch.bool)