SpikeCountEncoder

SpikeCountEncoder#

class braintools.SpikeCountEncoder(max_spikes=10, distribution='random', normalize=True)#

Encode inputs as exact spike counts over time windows.

Distributes a specific number of spikes (determined by input value) randomly or regularly over the encoding time window.

Example:

>>> encoder = SpikeCountEncoder(max_spikes=10)
>>> data = jnp.array([0.2, 0.5, 1.0])
>>> spikes = encoder(data, n_time=100)
>>> # Should generate [2, 5, 10] total spikes respectively
Parameters:
  • max_spikes (int) – int. Maximum number of spikes for input value of 1.0.

  • distribution (str) – str. How to distribute spikes (‘uniform’, ‘random’).

  • normalize (bool) – bool. Whether to normalize inputs to [0, 1].