Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 8 additions & 11 deletions snntorch/_neurons/leaky.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,19 +235,16 @@ def forward(self, input_, mem=None):
else:
return spk, self.mem

def _base_state_function(self, input_):
base_fn = self.beta.clamp(0, 1) * self.mem + input_
return base_fn
def _base_sub(self, input_): # reset by subtraction, soft reset
base_fn = self._base_int(input_)
return base_fn - self.reset * self.threshold * self.beta.clamp(0, 1)

def _base_sub(self, input_):
return self._base_state_function(input_) - self.reset * self.threshold
def _base_zero(self, input_): # reset to zero, hard reset
base_fn = self._base_int(input_)
return base_fn - self.reset * base_fn

def _base_zero(self, input_):
self.mem = (1 - self.reset) * self.mem
return self._base_state_function(input_)

def _base_int(self, input_):
return self._base_state_function(input_)
def _base_int(self, input_): # pure integration, no reset
return self.beta.clamp(0, 1) * self.mem + input_

@classmethod
def detach_hidden(cls):
Expand Down