MCPcopy Create free account
hub / github.com/BindsNET/bindsnet / IFNodes

Class IFNodes

bindsnet/network/nodes.py:308–415  ·  view source on GitHub ↗

Layer of `integrate-and-fire (IF) neurons `_.

Source from the content-addressed store, hash-verified

306
307
308class IFNodes(Nodes):
309 # language=rst
310 """
311 Layer of `integrate-and-fire (IF) neurons <http://neuronaldynamics.epfl.ch/online/Ch1.S3.html>`_.
312 """
313
314 def __init__(
315 self,
316 n: Optional[int] = None,
317 shape: Optional[Iterable[int]] = None,
318 traces: bool = False,
319 traces_additive: bool = False,
320 tc_trace: Union[float, torch.Tensor] = 20.0,
321 trace_scale: Union[float, torch.Tensor] = 1.0,
322 sum_input: bool = False,
323 thresh: Union[float, torch.Tensor] = -52.0,
324 reset: Union[float, torch.Tensor] = -65.0,
325 refrac: Union[int, torch.Tensor] = 5,
326 lbound: float = None,
327 **kwargs,
328 ) -> None:
329 # language=rst
330 """
331 Instantiates a layer of IF neurons.
332
333 :param n: The number of neurons in the layer.
334 :param shape: The dimensionality of the layer.
335 :param traces: Whether to record spike traces.
336 :param traces_additive: Whether to record spike traces additively.
337 :param tc_trace: Time constant of spike trace decay.
338 :param trace_scale: Scaling factor for spike trace.
339 :param sum_input: Whether to sum all inputs.
340 :param thresh: Spike threshold voltage.
341 :param reset: Post-spike reset voltage.
342 :param refrac: Refractory (non-firing) period of the neuron.
343 :param lbound: Lower bound of the voltage.
344 """
345 super().__init__(
346 n=n,
347 shape=shape,
348 traces=traces,
349 traces_additive=traces_additive,
350 tc_trace=tc_trace,
351 trace_scale=trace_scale,
352 sum_input=sum_input,
353 )
354
355 self.register_buffer(
356 "reset", torch.tensor(reset, dtype=torch.float)
357 ) # Post-spike reset voltage.
358 self.register_buffer(
359 "thresh", torch.tensor(thresh, dtype=torch.float)
360 ) # Spike threshold voltage.
361 self.register_buffer(
362 "refrac", torch.tensor(refrac)
363 ) # Post-spike refractory period.
364 self.register_buffer("v", torch.FloatTensor()) # Neuron voltages.
365 self.register_buffer(

Callers 2

TestMonitorClass · 0.90
TestNetworkMonitorClass · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected