SpikeMixin

class SpikeMixin(spikes: Tensor, interpolation: Interpolation, interp_kwargs: dict[str, Any], overbound: bool | None, tolerance: float)[source]

Bases: object

Mixin for synapses with spike primitive.

Parameters:
  • spikes (torch.Tensor) – initial input spikes.

  • interpolation (Interpolation) – interpolation function used when selecting prior spikes.

  • interp_kwargs (dict[str, Any]) – keyword arguments passed into the interpolation function.

  • overbound (bool | None) – value to replace spikes out of bounds, uses values at observation limits if None.

  • tolerance (float) – maximum difference in time from an observation to treat as co-occurring, in \(\text{ms}\).

property spike: Tensor

Spike input to the synapses at present.

Parameters:

value (torch.Tensor) – new spike input.

Returns:

present spike input.

Return type:

torch.Tensor

spike_at(selector: Tensor) Tensor[source]

Retrieves previous spike inputs.

Parameters:

selector (torch.Tensor) – time before present for which spike inputs should be retrieved, in \(\text{ms}\).

Returns:

selected spike inputs.

Return type:

torch.Tensor

Shape

selector:

\(B \times N_0 \times \cdots \times [D]\)

return:

\(B \times N_0 \times \cdots \times [D]\)

Where:
  • \(B\) is the batch size.

  • \(N_0 \times \cdots\) is the shape of the synapse.

  • \(D\) is the number of selectors per synapse.