Closed pabogdan closed 5 years ago
This can be replicated with:
import spynnaker8 as sim
sim.setup(timestep=1.0) sim.set_number_of_neurons_per_core(sim.IF_cond_exp, 2)
pop_1 = sim.Population(6, sim.IF_cond_exp(), label="pop_1") pop_1.record(["spikes", "v"]) pop_1[0, 2, 3].record(['gsyn_exc'])
simtime = 10 sim.run(simtime)
neo = pop_1.get_data(variables=["spikes", "v", "gsyn_exc"]) spikes = neo.segments[0].spiketrains print(spikes) v = neo.segments[0].filter(name='v')[0] print(v) gsyn_exc = neo.segments[0].filter(name='gsyn_exc')[0] print(gsyn_exc) sim.end()
That appears to work BUT if you examine the run buffer.sqlite3 file it shows that the gsyn blob for the core which no neurons recording is huge!
Bug is that the C on excluded cores KNOWS and never even initializes the region. So when the BufferExctactor tries to read the region all bets are off!
This is a (not really MW)Example of selective recording L182 + L190 that seems to fail at data extraction. In a different example I have but can't currently share here it actually crashes with:
The MWE (it's a slightly modified version of
stdp_example_cond.py
):