def run_forever_not_recorded():
    sim.setup(1.0)
    stim = sim.Population(1, sim.SpikeSourcePoisson(rate=10.0))
    pop = sim.Population(255, sim.IF_curr_exp(tau_syn_E=1.0), label="pop")
    sim.Projection(
        stim, pop, sim.AllToAllConnector(), sim.StaticSynapse(weight=20.0))
    conn = DatabaseConnection(
        start_resume_callback_function=start_callback,
        stop_pause_callback_function=stop_callback, local_port=None)
    SpynnakerExternalDevicePluginManager.add_database_socket_address(
        conn.local_ip_address, conn.local_port, None)
    sim.external_devices.run_forever()
    sim.end()
def run_forever_recorded():
    sim.setup(1.0)
    source_spikes = range(0, 5000, 100)
    stim = sim.Population(1, sim.SpikeSourceArray(source_spikes))
    pop = sim.Population(255, sim.IF_curr_exp(tau_syn_E=1.0), label="pop")
    sim.Projection(stim, pop, sim.AllToAllConnector(),
                   sim.StaticSynapse(weight=20.0))
    pop.record(["v", "spikes"])
    conn = DatabaseConnection(start_resume_callback_function=start_callback,
                              stop_pause_callback_function=stop_callback,
                              local_port=None)
    SpynnakerExternalDevicePluginManager.add_database_socket_address(
        conn.local_ip_address, conn.local_port, None)
    sim.external_devices.run_forever()

    spikes = pop.get_data("spikes").segments[0].spiketrains
    sim.end()
    for spiketrain in spikes:
        assert (len(spiketrain) > 0)
        for spike, source in zip(spiketrain, source_spikes[:len(spiketrain)]):
            assert (spike > source)
            assert (spike < source + 10)
Пример #3
0
# Setup recording
spike_input.record('spikes')
receive_pop.record('spikes')
receive_reward_pop.record('all')

# -----------------------------------------------------------------------------
# Configure Visualiser
# -----------------------------------------------------------------------------
print("UDP_PORT1: {}".format(UDP_PORT1))
print("x_fact: {}, y_fact: {}".format(x_factor1, y_factor1))
print("x_bits: {}, y_bits: {}".format(
    np.uint32(np.ceil(np.log2(X_RESOLUTION / x_factor1))),
    np.uint32(np.ceil(np.log2(Y_RESOLUTION / y_factor1)))))

d_conn = DatabaseConnection(local_port=None)

print("\nRegister visualiser process")
d_conn.add_database_callback(
    functools.partial(start_visualiser,
                      pop_label=b1.label,
                      xr=x_factor1,
                      yr=y_factor1,
                      xb=np.uint32(np.ceil(np.log2(X_RESOLUTION / x_factor1))),
                      yb=np.uint32(np.ceil(np.log2(Y_RESOLUTION / y_factor1))),
                      key_conn=key_input_connection))

p.external_devices.add_database_socket_address("localhost", d_conn.local_port,
                                               None)

# -----------------------------------------------------------------------------