Ejemplo n.º 1
0
def make_brian_group(trains):
    """Create Brian's spike generator group from spike trains.

    Parameters
    ----------
    trains : spike_trains
        Input spike trains

    Returns
    -------
    brian.SpikeGeneratorGroup
        Brian's spike generator group.

    """
    import brian

    times = []
    indices = []
    for i, spikes in enumerate(trains['spikes']):
        times.append(spikes)
        indices.append(np.ones(len(spikes)) * i)

    indices = np.concatenate(indices)
    times = np.concatenate(times) * brian.second

    group = brian.SpikeGeneratorGroup(
        len(trains),
        spiketimes=(indices, times)
    )

    return group
Ejemplo n.º 2
0
def simulation_example(brian_clock, brian):

    import numpy

    print "Simulation function!"

    brian.defaultclock = brian_clock

    Number_of_input_neurons = 20

    spiketimes = []
    Input_layer = brian.SpikeGeneratorGroup(20, spiketimes)

    Output_layer = brian.NeuronGroup(Number_of_input_neurons,
                                     model='v:1',
                                     reset=0,
                                     threshold=10)

    S = brian.Synapses(Input_layer, Output_layer, model='w:1', pre='v+=w')

    S[:, :] = 'i==j'
    S.w = 100

    return Input_layer, Output_layer, [Input_layer, Output_layer], [S], []
Ejemplo n.º 3
0
count = 0
g = 2

liquid_neurons = br.NeuronGroup(N_liquid[0],
                                model=eqs_hidden_neurons,
                                refractory=2 * br.ms,
                                reset=reset)
liquid_inputs = liquid_neurons.subgroup(N_liquid[1])
liquid_hidden = liquid_neurons.subgroup(N_liquid[0] - N_liquid[1] -
                                        N_liquid[2])
liquid_output = liquid_neurons.subgroup(N_liquid[2])

spikes = []
hidden_neurons = []  # * len(N_hidden)
input_neurons = br.SpikeGeneratorGroup(N_in + 1, spikes)

Sin = br.Synapses(input_neurons, liquid_inputs, model='w:1', pre='ge+=w')
Sliq = br.Synapses(liquid_neurons, liquid_neurons, model='w:1', pre='ge+=w')

for i in range(len(N_hidden)):
    hidden_neurons.append(
        br.NeuronGroup(N_hidden[i],
                       model=eqs_hidden_neurons,
                       threshold=vt,
                       refractory=2 * br.ms,
                       reset=reset))

output_neurons = br.NeuronGroup(N_out,
                                model=eqs_hidden_neurons,
                                threshold=vt,