Import a cognitive function

from nmcog.spinnaker.discriminate import BuoMerz

Run it

For this example we are passing one or more stimulus.

[3]:
#x = BuoMerz([80])
x = BuoMerz([80, 130])
#x = BuoMerz([80, 130, 180, 230, 280])
2020-03-24 10:48:47 INFO: Read cfg files: /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spinn_front_end_common/interface/spinnaker.cfg, /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spynnaker/pyNN/spynnaker.cfg, /home/jovyan/.spynnaker.cfg
2020-03-24 10:48:47 INFO: Will search these locations for binaries: /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spinn_front_end_common/common_model_binaries : /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spynnaker/pyNN/model_binaries
2020-03-24 10:48:47 WARNING: /home/jovyan/reports has 14 old reports that have not been closed
2020-03-24 10:48:47 WARNING: /home/jovyan/application_generated_data_files has 14 old reports that have not been closed
2020-03-24 10:48:47 INFO: Setting time scale factor to 1.
2020-03-24 10:48:47 INFO: Setting machine time step to 1000 micro-seconds.
2020-03-24 10:48:47 WARNING: record("all") is non-standard PyNN, and therefore may not be portable to other simulators.
2020-03-24 10:48:47 WARNING: You are trying to record the excitatory conductance from a model which does not use conductance input. You will receive current measurements instead.
2020-03-24 10:48:47 WARNING: You are trying to record the inhibitory conductance from a model which does not use conductance input. You will receive current measurements instead.
2020-03-24 10:48:47 INFO: Simulating for 130 1.0ms timesteps using a hardware timestep of 1000us
2020-03-24 10:48:47 INFO: Starting execution process
['/home/jovyan/sPyNNaker/lib/python3.6/site-packages/spinn_front_end_common/interface/spinnaker.cfg', '/home/jovyan/sPyNNaker/lib/python3.6/site-packages/spynnaker/pyNN/spynnaker.cfg', '/home/jovyan/.spynnaker.cfg']
2020-03-24 10:48:53 INFO: Time 0:00:05.941696 taken by SpallocMaxMachineGenerator
Pre allocating resources for Extra Monitor support vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:05 INFO: Time 0:00:12.287796 taken by PreAllocateResourcesForExtraMonitorSupport
Partitioning graph vertices
|0%                          50%                         100%|
 ============================================================
Partitioning graph edges
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:18 INFO: Time 0:00:12.579328 taken by PartitionAndPlacePartitioner
Created spalloc job 5318556
2020-03-24 10:49:18 INFO: Created spalloc job 5318556
Waiting for board power commands to complete.
2020-03-24 10:49:18 INFO: Waiting for board power commands to complete.
2020-03-24 10:49:23 INFO: Time 0:00:05.056944 taken by SpallocAllocator
2020-03-24 10:49:23 INFO: Creating transceiver for 10.11.199.129
2020-03-24 10:49:23 INFO: Working out if machine is booted
2020-03-24 10:49:27 INFO: Attempting to boot machine
2020-03-24 10:49:33 INFO: Found board with version [Version: SC&MP 3.2.5 at SpiNNaker:0:0:0 (built Thu Aug  1 08:15:06 2019)]
2020-03-24 10:49:33 INFO: Machine communication successful
2020-03-24 10:49:33 INFO: Detected a machine on IP address 10.11.199.129 which has 853 cores and 120.0 links
2020-03-24 10:49:33 INFO: Time 0:00:09.653708 taken by MachineGenerator
Generating partitioner report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:33 INFO: Time 0:00:00.018688 taken by PartitionerReport
2020-03-24 10:49:33 INFO: Time 0:00:00.003908 taken by NetworkSpecificationReport
Allocating virtual identifiers
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:33 INFO: Time 0:00:00.060067 taken by MallocBasedChipIDAllocator
Inserting extra monitors into graphs
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:33 INFO: Time 0:00:00.054976 taken by InsertExtraMonitorVerticesToGraphs
Writing the board chip report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:33 INFO: Time 0:00:00.028323 taken by BoardChipReport
Filtering edges
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:33 INFO: Time 0:00:00.193757 taken by GraphEdgeFilter
Placing graph vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:33 INFO: Time 0:00:00.346437 taken by OneToOnePlacer
Inserting edges between vertices which require FR speed up functionality.
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:34 INFO: Time 0:00:00.309749 taken by InsertEdgesToExtraMonitorFunctionality
Generating routing tables for data in system processes
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:34 INFO: Time 0:00:00.049146 taken by DataInMulticastRoutingGenerator
Generating fixed router routes
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:34 INFO: Time 0:00:00.040123 taken by FixedRouteRouter
Generating placement report
|0%                          50%                         100%|
 ============================================================
Generating placement by core report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:34 INFO: Time 0:00:00.587320 taken by PlacerReportWithApplicationGraph
Routing
|0%                          50%                         100%|
 ============================================================

2020-03-24 10:49:35 INFO: Time 0:00:00.116644 taken by NerRoute
Discovering tags
|0%                          50%                         100%|
 ============================================================
Allocating tags
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.120256 taken by BasicTagAllocator
Reporting Tags
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.016855 taken by TagReport
Getting number of keys required by each edge using application graph
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.081841 taken by EdgeToNKeysMapper
Getting constraints for application graph
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.098605 taken by ProcessPartitionConstraints
Allocating routing keys
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.032643 taken by MallocBasedRoutingInfoAllocator
Generating Routing info report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.087959 taken by routingInfoReports
Generating routing tables
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.118971 taken by BasicRoutingTableGenerator
Finding executable start types
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.122429 taken by LocateExecutableStartType
Initialising buffers
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:35 INFO: Time 0:00:00.177702 taken by BufferManagerCreator
Generating data specifications
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:36 INFO: Time 0:00:00.455517 taken by SpynnakerDataSpecificationWriter
Preparing Routing Tables
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:36 INFO: Time 0:00:00.025890 taken by RoutingSetup
Finding binaries
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:36 INFO: Time 0:00:00.079775 taken by GraphBinaryGatherer
Running routing table compression on chip
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:41 INFO: Time 0:00:04.559903 taken by MundyOnChipRouterCompression
Generating Router table report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:41 INFO: Time 0:00:00.016591 taken by unCompressedRoutingTableReports
loading fixed routes
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:41 INFO: Time 0:00:00.085559 taken by LoadFixedRoutes
Executing data specifications and loading data for system vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:41 INFO: Time 0:00:00.276217 taken by HostExecuteSystemDataSpecification
Loading system executables onto the machine
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:47 INFO: Time 0:00:05.759816 taken by LoadSystemExecutableImages
Clearing tags
|0%                          50%                         100%|
 ============================================================
Loading Tags
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:47 INFO: Time 0:00:00.045335 taken by TagsLoader
Writing data
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:47 INFO: Time 0:00:00.072403 taken by WriteMemoryIOData
Executing data specifications and loading data for application vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:49 INFO: Time 0:00:02.329880 taken by HostExecuteApplicationDataSpecification
Expanding Synapses
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:53 INFO: Time 0:00:03.947820 taken by SynapseExpander
Writing fixed route report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:49:53 INFO: Time 0:00:00.098872 taken by FixedRouteFromMachineReport
Loading executables onto the machine
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:00 INFO: Time 0:00:06.876469 taken by LoadApplicationExecutableImages
Reading Routing Tables from Machine
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:00 INFO: Time 0:00:00.024519 taken by RoutingTableFromMachineReport
Generating compressed router table report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:00 INFO: Time 0:00:00.016589 taken by compressedRoutingTableReports
Generating comparison of router table report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:00 INFO: Time 0:00:00.016750 taken by comparisonOfRoutingTablesReport
2020-03-24 10:50:00 INFO: Running for 1 steps for a total of 130.0ms
2020-03-24 10:50:00 INFO: Run 1 of 1
Generating SDRAM usage report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:00 INFO: Time 0:00:00.142856 taken by SdramUsageReportPerChip
Updating run time
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:00 INFO: Time 0:00:00.048431 taken by ChipRuntimeUpdater
2020-03-24 10:50:00 INFO: Time 0:00:00.000384 taken by DatabaseInterface
2020-03-24 10:50:00 INFO: ** Notifying external sources that the database is ready for reading **
2020-03-24 10:50:00 INFO: Time 0:00:00.008640 taken by NotificationProtocol
2020-03-24 10:50:00 INFO: *** Running simulation... ***
Loading buffers
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:01 INFO: ** Awaiting for a response from an external source to state its ready for the simulation to start **
2020-03-24 10:50:01 INFO: ** Sending start / resume message to external sources to state the simulation has started or resumed. **
2020-03-24 10:50:01 INFO: ** Awaiting for a response from an external source to state its ready for the simulation to start **
2020-03-24 10:50:01 INFO: Application started; waiting 0.23s for it to stop
2020-03-24 10:50:01 INFO: ** Sending pause / stop message to external sources to state the simulation has been paused or stopped. **
2020-03-24 10:50:01 INFO: Time 0:00:00.405460 taken by ApplicationRunner
Extracting buffers from the last run
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:01 INFO: Time 0:00:00.535485 taken by BufferExtractor
Getting provenance data from machine graph
|0%                          50%                         100%|
 ============================================================
Getting provenance data from application graph
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:02 INFO: Time 0:00:00.169600 taken by GraphProvenanceGatherer
Getting provenance data
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:02 INFO: Time 0:00:00.088399 taken by PlacementsProvenanceGatherer
Getting Router Provenance
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:02 INFO: Time 0:00:00.091174 taken by RouterProvenanceGatherer
Getting profile data
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:02 INFO: Time 0:00:00.102317 taken by ProfileDataGatherer
Getting spikes for input1
|0%                          50%                         100%|
 ============================================================
Getting v for input1
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:02 WARNING: Warning getting data on a whole population when selective recording is active will result in only the requested neurons being returned in numerical order and without repeats.
Getting spikes for ex4
|0%                          50%                         100%|
 ============================================================
Getting v for ex4
|0%                          50%                         100%|
 ============================================================
Getting spikes for inh4
|0%                          50%                         100%|
 ============================================================
Getting v for inh4
|0%                          50%                         100%|
 ============================================================
Getting spikes for ex3
|0%                          50%                         100%|
 ============================================================
Getting v for ex3
|0%                          50%                         100%|
 ============================================================
Getting spikes for inh3
|0%                          50%                         100%|
 ============================================================
Getting v for inh3
|0%                          50%                         100%|
 ============================================================
Getting spikes for output_for_80
|0%                          50%                         100%|
 ============================================================
Getting spikes for output_for_130
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:02 WARNING: A Timer tick callback was still executing when the next timer tick callback was fired off for ex3:0:199 on 0, 0, 6, 8 times. This is a sign of the system being overloaded and therefore the results are likely incorrect.  Please increase the machine time step or time_scale_factor or decrease the number of neurons per core
2020-03-24 10:50:02 WARNING: A Timer tick callback was still executing when the next timer tick callback was fired off for ex4:0:119 on 0, 0, 7, 3 times. This is a sign of the system being overloaded and therefore the results are likely incorrect.  Please increase the machine time step or time_scale_factor or decrease the number of neurons per core
2020-03-24 10:50:02 INFO: Read cfg files: /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spinn_front_end_common/interface/spinnaker.cfg, /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spynnaker/pyNN/spynnaker.cfg, /home/jovyan/.spynnaker.cfg
2020-03-24 10:50:02 INFO: Will search these locations for binaries: /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spinn_front_end_common/common_model_binaries : /home/jovyan/sPyNNaker/lib/python3.6/site-packages/spynnaker/pyNN/model_binaries
2020-03-24 10:50:02 WARNING: /home/jovyan/reports has 14 old reports that have not been closed
2020-03-24 10:50:02 WARNING: /home/jovyan/application_generated_data_files has 14 old reports that have not been closed
2020-03-24 10:50:02 INFO: Setting time scale factor to 1.
2020-03-24 10:50:02 INFO: Setting machine time step to 1000 micro-seconds.
2020-03-24 10:50:02 INFO: Simulating for 180 1.0ms timesteps using a hardware timestep of 1000us
2020-03-24 10:50:02 INFO: Starting execution process
['/home/jovyan/sPyNNaker/lib/python3.6/site-packages/spinn_front_end_common/interface/spinnaker.cfg', '/home/jovyan/sPyNNaker/lib/python3.6/site-packages/spynnaker/pyNN/spynnaker.cfg', '/home/jovyan/.spynnaker.cfg']
2020-03-24 10:50:08 INFO: Time 0:00:05.781284 taken by SpallocMaxMachineGenerator
Pre allocating resources for Extra Monitor support vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:20 INFO: Time 0:00:11.597917 taken by PreAllocateResourcesForExtraMonitorSupport
Partitioning graph vertices
|0%                          50%                         100%|
 ============================================================
Partitioning graph edges
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:29 INFO: Time 0:00:08.838890 taken by PartitionAndPlacePartitioner
Created spalloc job 5318557
2020-03-24 10:50:29 INFO: Created spalloc job 5318557
Waiting for board power commands to complete.
2020-03-24 10:50:29 INFO: Waiting for board power commands to complete.
2020-03-24 10:50:34 INFO: Time 0:00:05.051142 taken by SpallocAllocator
2020-03-24 10:50:34 INFO: Creating transceiver for 10.11.199.129
2020-03-24 10:50:34 INFO: Working out if machine is booted
2020-03-24 10:50:38 INFO: Attempting to boot machine
2020-03-24 10:50:43 INFO: Found board with version [Version: SC&MP 3.2.5 at SpiNNaker:0:0:0 (built Thu Aug  1 08:15:06 2019)]
2020-03-24 10:50:43 INFO: Machine communication successful
2020-03-24 10:50:43 INFO: Detected a machine on IP address 10.11.199.129 which has 854 cores and 120.0 links
2020-03-24 10:50:43 INFO: Time 0:00:09.663257 taken by MachineGenerator
Generating partitioner report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:43 INFO: Time 0:00:00.016407 taken by PartitionerReport
2020-03-24 10:50:43 INFO: Time 0:00:00.002188 taken by NetworkSpecificationReport
Allocating virtual identifiers
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:43 INFO: Time 0:00:00.090868 taken by MallocBasedChipIDAllocator
Inserting extra monitors into graphs
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.231338 taken by InsertExtraMonitorVerticesToGraphs
Writing the board chip report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.016503 taken by BoardChipReport
Filtering edges
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.149662 taken by GraphEdgeFilter
Placing graph vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.111254 taken by OneToOnePlacer
Inserting edges between vertices which require FR speed up functionality.
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.113242 taken by InsertEdgesToExtraMonitorFunctionality
Generating routing tables for data in system processes
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.018587 taken by DataInMulticastRoutingGenerator
Generating fixed router routes
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.012549 taken by FixedRouteRouter
Generating placement report
|0%                          50%                         100%|
 ============================================================
Generating placement by core report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:44 INFO: Time 0:00:00.178420 taken by PlacerReportWithApplicationGraph
Routing
|0%                          50%                         100%|
 ============================================================

2020-03-24 10:50:44 INFO: Time 0:00:00.102568 taken by NerRoute
Discovering tags
|0%                          50%                         100%|
 ============================================================
Allocating tags
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:45 INFO: Time 0:00:00.137179 taken by BasicTagAllocator
Reporting Tags
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:45 INFO: Time 0:00:00.024161 taken by TagReport
Getting number of keys required by each edge using application graph
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:45 INFO: Time 0:00:00.272220 taken by EdgeToNKeysMapper
Getting constraints for application graph
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:45 INFO: Time 0:00:00.275628 taken by ProcessPartitionConstraints
Allocating routing keys
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:45 INFO: Time 0:00:00.029151 taken by MallocBasedRoutingInfoAllocator
Generating Routing info report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:45 INFO: Time 0:00:00.145139 taken by routingInfoReports
Generating routing tables
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:45 INFO: Time 0:00:00.082176 taken by BasicRoutingTableGenerator
Finding executable start types
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:46 INFO: Time 0:00:00.154161 taken by LocateExecutableStartType
Initialising buffers
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:46 INFO: Time 0:00:00.125105 taken by BufferManagerCreator
Generating data specifications
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:46 INFO: Time 0:00:00.296942 taken by SpynnakerDataSpecificationWriter
Preparing Routing Tables
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:46 INFO: Time 0:00:00.013669 taken by RoutingSetup
Finding binaries
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:46 INFO: Time 0:00:00.040002 taken by GraphBinaryGatherer
Running routing table compression on chip
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:51 INFO: Time 0:00:04.533472 taken by MundyOnChipRouterCompression
Generating Router table report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:51 INFO: Time 0:00:00.008616 taken by unCompressedRoutingTableReports
loading fixed routes
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:51 INFO: Time 0:00:00.042230 taken by LoadFixedRoutes
Executing data specifications and loading data for system vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:51 INFO: Time 0:00:00.218263 taken by HostExecuteSystemDataSpecification
Loading system executables onto the machine
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:57 INFO: Time 0:00:05.747173 taken by LoadSystemExecutableImages
Clearing tags
|0%                          50%                         100%|
 ============================================================
Loading Tags
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:57 INFO: Time 0:00:00.029515 taken by TagsLoader
Writing data
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:57 INFO: Time 0:00:00.035907 taken by WriteMemoryIOData
Executing data specifications and loading data for application vertices
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:50:57 INFO: Time 0:00:00.317438 taken by HostExecuteApplicationDataSpecification
Expanding Synapses
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:01 INFO: Time 0:00:03.914931 taken by SynapseExpander
Writing fixed route report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:01 INFO: Time 0:00:00.066870 taken by FixedRouteFromMachineReport
Loading executables onto the machine
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:08 INFO: Time 0:00:06.873900 taken by LoadApplicationExecutableImages
Reading Routing Tables from Machine
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:08 INFO: Time 0:00:00.020896 taken by RoutingTableFromMachineReport
Generating compressed router table report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:08 INFO: Time 0:00:00.011272 taken by compressedRoutingTableReports
Generating comparison of router table report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:08 INFO: Time 0:00:00.010501 taken by comparisonOfRoutingTablesReport
2020-03-24 10:51:08 INFO: Running for 1 steps for a total of 180.0ms
2020-03-24 10:51:08 INFO: Run 1 of 1
Generating SDRAM usage report
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:08 INFO: Time 0:00:00.102379 taken by SdramUsageReportPerChip
Updating run time
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:08 INFO: Time 0:00:00.036685 taken by ChipRuntimeUpdater
2020-03-24 10:51:08 INFO: Time 0:00:00.000431 taken by DatabaseInterface
2020-03-24 10:51:08 INFO: ** Notifying external sources that the database is ready for reading **
2020-03-24 10:51:08 INFO: Time 0:00:00.004623 taken by NotificationProtocol
2020-03-24 10:51:08 INFO: *** Running simulation... ***
Loading buffers
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:08 INFO: ** Awaiting for a response from an external source to state its ready for the simulation to start **
2020-03-24 10:51:08 INFO: ** Sending start / resume message to external sources to state the simulation has started or resumed. **
2020-03-24 10:51:08 INFO: ** Awaiting for a response from an external source to state its ready for the simulation to start **
2020-03-24 10:51:08 INFO: Application started; waiting 0.28s for it to stop
2020-03-24 10:51:09 INFO: ** Sending pause / stop message to external sources to state the simulation has been paused or stopped. **
2020-03-24 10:51:09 INFO: Time 0:00:00.426150 taken by ApplicationRunner
Extracting buffers from the last run
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:09 INFO: Time 0:00:00.639263 taken by BufferExtractor
Getting provenance data from machine graph
|0%                          50%                         100%|
 ============================================================
Getting provenance data from application graph
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:09 INFO: Time 0:00:00.142526 taken by GraphProvenanceGatherer
Getting provenance data
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:10 INFO: Time 0:00:00.115498 taken by PlacementsProvenanceGatherer
Getting Router Provenance
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:10 INFO: Time 0:00:00.098745 taken by RouterProvenanceGatherer
Getting profile data
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:10 INFO: Time 0:00:00.280043 taken by ProfileDataGatherer
Getting spikes for input1
|0%                          50%                         100%|
 ============================================================
Getting v for input1
|0%                          50%                         100%|
 ============================================================
Getting spikes for ex4
|0%                          50%                         100%|
 ============================================================
Getting v for ex4
|0%                          50%                         100%|
 ============================================================
Getting spikes for inh4
|0%                          50%                         100%|
 ============================================================
Getting v for inh4
|0%                          50%                         100%|
 ============================================================
Getting spikes for ex3
|0%                          50%                         100%|
 ============================================================
Getting v for ex3
|0%                          50%                         100%|
 ============================================================
Getting spikes for inh3
|0%                          50%                         100%|
 ============================================================
Getting v for inh3
|0%                          50%                         100%|
 ============================================================
Getting spikes for output_for_80
|0%                          50%                         100%|
 ============================================================
Getting spikes for output_for_130
|0%                          50%                         100%|
 ============================================================
2020-03-24 10:51:11 WARNING: A Timer tick callback was still executing when the next timer tick callback was fired off for ex3:0:199 on 0, 0, 6, 9 times. This is a sign of the system being overloaded and therefore the results are likely incorrect.  Please increase the machine time step or time_scale_factor or decrease the number of neurons per core

Get simulation results.

[4]:
y = x.get_results()

Visualize

For this example of BuoMerz function which performs temporal processing let us visualize the neuron activity from populations of the output layer for respective stimulus.

[5]:
intvs = ["80", "130"]#, "180", "230", "280"]
clrs = ['C{}'.format(i) for i in range(len(intvs))] # [80, 130, 180, 230, 280]
legpatches = []
fig, ( (sp) ) = plt.subplots(1,1)
for j in range( len(intvs) ):
    [ sp.plot(y[intvs[j]]["out"]["out"+intvs[j]]["placeholder_axes"], alpha=0.0) if i==0 else
      sp.eventplot( y[intvs[j]]["out"]["out"+intvs[j]]["spiketrains"], colors=clrs[j] ) for i in range(2) ]
    legpatches.append( mpatches.Patch(color=clrs[j], label=intvs[j]) )
sp.set(ylabel="output")
sp.legend( handles=legpatches, shadow=True )
[5]:
<matplotlib.legend.Legend at 0x7fe96cdb7fd0>

Another view of the same result is shown below.

[6]:
z1 = "80"
z2 = "130"
fig, ( (sp1), (sp2) ) = plt.subplots(2,1)

clrs = ['C{}'.format(i) for i in range(5)] # [80, 130, 180, 230, 280]

sp1.eventplot( y[z1]["out"]["out"+z1]["spiketrains"], colors=clrs[0] )
sp2.eventplot( y[z2]["out"]["out"+z2]["spiketrains"], colors=clrs[1] )

# legend
z1_patch = mpatches.Patch(color=clrs[0], label=z1)
z2_patch = mpatches.Patch(color=clrs[1], label=z2)


sp1.margins(10,0.5)
sp2.margins(10,0.5)

sp1.set_yticks([])
sp1.set(ylabel="output population-a")
sp2.set_yticks([])
sp2.set(ylabel="output population-b")

sp1right = sp1.twinx()
sp2right = sp2.twinx()

sp1right.set_yticks([])
sp1right.set_ylabel("stimulus "+z1)
sp2right.set_yticks([])
sp2right.set_ylabel("stimulus "+z2)

sp1.legend( handles=[z1_patch], shadow=True )
sp2.legend( handles=[z2_patch], shadow=True )

# remove vertical gap between subplots
plt.subplots_adjust(hspace=.0)
plt.xticks([])
plt.show()

We may also visualize the population of the output layer in the context of other layers for respective stimulus.

[7]:
z = "80"
fig, ( (sp1),
       (sp2),
       (sp3),
       (sp4),
       (sp5),
       (sp6) ) = plt.subplots(6,1,sharex=True)
fig.suptitle("Temporal Info. Processing Model")

[ sp1.plot(y[z]["out"]["out"+z]["placeholder_axes"], alpha=0.0) if i==0 else
  sp1.eventplot( y[z]["out"]["out"+z]["spiketrains"] ) for i in range(2) ]
sp1.set(ylabel="output")

sp2.eventplot( y[z]["inh3"].segments[0].spiketrains )
sp2.set(ylabel="inh3")

sp3.eventplot( y[z]["ex3"].segments[0].spiketrains )
sp3.set(ylabel="ex3")

sp4.eventplot( y[z]["inh4"].segments[0].spiketrains )
sp4.set(ylabel="inh4")

sp5.eventplot( y[z]["ex4"].segments[0].spiketrains )
sp5.set(ylabel="ex4")

sp6.eventplot( y[z]["popIn"].segments[0].spiketrains )
sp6.set(ylabel="popIn")
sp6.set(xlabel="time (ms)")

plt.show()