Module adseq.synapse2
Functions
def mk_synapse2(Q: type[BaseQueue],
*a,
dt_ms,
vthres,
tau_syn1_ms,
tau_syn2_ms,
**k)-
Expand source code
def mk_synapse2(Q: type[BaseQueue], *a, dt_ms, vthres, tau_syn1_ms, tau_syn2_ms, **k): ''' Construct a single double exponential synapse >>> syn = adseq.mk_synapse2( adseq.SingleSpike, dt_ms=1.0, vthres=1.0, tau_syn1_ms=1.0, tau_syn2_ms=10.0, max_delay_ms=100., ) >>> a = 1.0 >>> syn = syn.timestep_spike_detect_pre(0, 1.0-a*0.1, 1.0+a*0.1, 1.0) >>> print(syn.isyn) 0.0 >>> syn = syn.timestep_spike_detect_pre(1, 0.9, 0.9, 0.0) >>> print(syn.isyn) 0.0 >>> syn = syn.timestep_spike_detect_pre(2, 0.9, 0.9, 0.0) >>> print(syn.isyn) 0.7705642 If taking gradient w.r.t. delay_ms, put max_delay_ms and give delay_ms in the detection call ''' return _mk_synapse(Q, *a, dt_ms=dt_ms, vthres=vthres, tau_syn1_ms=tau_syn1_ms, tau_syn2_ms=tau_syn2_ms, **k).init()Construct a single double exponential synapse
>>> syn = adseq.mk_synapse2( adseq.SingleSpike, dt_ms=1.0, vthres=1.0, tau_syn1_ms=1.0, tau_syn2_ms=10.0, max_delay_ms=100., ) >>> a = 1.0 >>> syn = syn.timestep_spike_detect_pre(0, 1.0-a*0.1, 1.0+a*0.1, 1.0) >>> print(syn.isyn) 0.0 >>> syn = syn.timestep_spike_detect_pre(1, 0.9, 0.9, 0.0) >>> print(syn.isyn) 0.0 >>> syn = syn.timestep_spike_detect_pre(2, 0.9, 0.9, 0.0) >>> print(syn.isyn) 0.7705642If taking gradient w.r.t. delay_ms, put max_delay_ms and give delay_ms in the detection call
def mk_synapse2s(Q: type[BaseQueue],
*a,
dt_ms,
vthres,
tau_syn1_ms,
tau_syn2_ms,
n: int,
**k)-
Expand source code
def mk_synapse2s(Q: type[BaseQueue], *a, dt_ms, vthres, tau_syn1_ms, tau_syn2_ms, n: int, **k): return _mk_multi_synapse(Q, *a, dt_ms=dt_ms, vthres=vthres, tau_syn1_ms=tau_syn1_ms, tau_syn2_ms=tau_syn2_ms, n=n, **k).init()