PyNN icon indicating copy to clipboard operation
PyNN copied to clipboard

sampling interval semantics

Open alan-stokes opened this issue 8 years ago • 2 comments

Hi all,

just looking into the recording interface for getting the spinnaker version of PyNN 0.8 one up and running, and saw what may be a semantic implication mismatch.

when you say record, your adding new atoms to be recorded (grand) but your also adding a new sampling interval. This sampling interval overrides all previous set sampling intervals, as its just a int. so the following calls results in what id believe end users would say is unexpected behavior

pop.record([1,2,3,4], 20) this sets 1,2,3,4 to a sampling interval of 20 pop.record([6,7,8,910], 10) this sets 1,2,3,4,6,7,8,9,10 to a sampling interval of 10 whereas as a end user, id expect 1,2,3,4 to be at an sampling interval of 20, and 6,7,8,9,10 to be at a sampling interval of 10

if the sampling interval is meant to be global over the pop, then can we separate out the calls so that its explicit to the end user?

pop.record([1,2,3,4]) pop.record([6,7,8,910]) pop.set_sampling_interval(20)

if its meant to be per atom, then the interface is sound, but the source code for everyone looks like it needs a bit of rewriting.

regards Alan

alan-stokes avatar Feb 17 '17 16:02 alan-stokes

ok, been digging deeper and getting more lost, but finding a exception checker for sampling interval being consistent over all atoms of the pop.

This implies that we should break this call into 2 for clarity sake.

alan-stokes avatar Feb 17 '17 16:02 alan-stokes

It should be possible to record different neurons at different sampling rates.

apdavison avatar Mar 08 '17 09:03 apdavison