Hi,
I need to send a strong inhibitory signal that lasts a few milliseconds (from 4.0 ms to 15 ms) to a layer in my neural network. However, the transfer function tick time is 20 ms.
I thought something like this could do the trick (the three last lines of the TF are the trick):
@nrp.MapSpikeSource(‘groupDampInput’, nrp.map_neurons(range(nrp.config.brain_root.nOrinrp.config.brain_root.oriRowsnrp.config.brain_root.oriCols), lambda i: nrp.brain.V2Layer23Int[i]), nrp.dc_source, amplitude=0.0)
@nrp.MapVariable( ‘isGrouping’, scope=nrp.GLOBAL, initial_value=False)
@nrp.Robot2Neuron()
def LAM2_trigger_groups(t, groupDampInput, isGrouping):
# Triggers grouping mechanism after a saccade if isGrouping.value:
# Parameters initialization nOri = nrp.config.brain_root.nOri nRows = nrp.config.brain_root.oriRows nCols = nrp.config.brain_root.oriCols dampInput = nrp.config.brain_root.dampingInput
# Damping delays for maximum 8 orientations dampingDelays = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0] # in ms
# Send the grouping signal for each orientation for k in range(nOri): if dampingDelays[k] > 0.0: for i in range(k*nRows*nCols,(k+1)*nRows*nCols): groupDampInput[i].amplitude = -dampInput groupDampInput[i].start = t*1000.0 # TF time (t) is in seconds, but "start" time is in ms groupDampInput[i].stop = t*1000.0+dampingDelays[k]
But this did not work… Actually the amplitude is set successfully, but the inhibitory input just never stops.
Anyone has an idea of why this fails, or of how I could go around the tick time problem?
Thanks a lot for any help!
Alban