From f7adf54286cabd0f60939dc02f30256a13409735 Mon Sep 17 00:00:00 2001
From: Mazdak Fatahi <mazdak.fatahi@univ-lille.fr>
Date: Thu, 17 Nov 2022 13:41:05 +0100
Subject: [PATCH] Upload New File

---
 SpiNNaker/SpiNNakerRun.ipynb | 752 +++++++++++++++++++++++++++++++++++
 1 file changed, 752 insertions(+)
 create mode 100644 SpiNNaker/SpiNNakerRun.ipynb

diff --git a/SpiNNaker/SpiNNakerRun.ipynb b/SpiNNaker/SpiNNakerRun.ipynb
new file mode 100644
index 0000000..6aed942
--- /dev/null
+++ b/SpiNNaker/SpiNNakerRun.ipynb
@@ -0,0 +1,752 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Imports\n",
+    "import SpiNNakerHelpers as mySpiNNaker\n",
+    "import torch\n",
+    "import snntorch \n",
+    "from snntorch import utils, spikegen\n",
+    "from torchvision import transforms,datasets\n",
+    "from pacman import exceptions\n",
+    "from spinn_utilities.progress_bar import ProgressBar\n",
+    "import time\n",
+    "import pyNN.utility.plotting as plot\n",
+    "from torch.utils.data import SubsetRandomSampler\n",
+    "import matplotlib.pyplot as plt\n",
+    "import random\n",
+    "import torch\n",
+    "import torchvision\n",
+    "import numpy as np\n",
+    "import seaborn as sns\n",
+    "import os\n",
+    "import os.path\n",
+    "import datetime\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Initialization\n",
+    "\n",
+    "# Encoding parameters\n",
+    "SMAPLES_INTERVAL=10#\n",
+    "TIME_STEP=1\n",
+    "NUM_STEPS=20#20\n",
+    "\n",
+    "# Simulator parameters\n",
+    "timestep=[1]\n",
+    "time_scale_factor=[1]\n",
+    "neuron_tpye=mySpiNNaker.sim.IF_curr_exp\n",
+    "number_of_neurons_per_cores=[1000]\n",
+    "\n",
+    "\n",
+    "# Model Parameters\n",
+    "INPUT_SIZE=784\n",
+    "EXC_POP_SIZE=[400, 1600]\n",
+    "INH_POP_SIZE=[]\n",
+    "\n",
+    "# General parameters\n",
+    "path = os.getcwd()\n",
+    "now=datetime.datetime.now()\n",
+    "os.mkdir(f'{path}/{str(now)}')     "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "100%|██████████| 10/10 [00:00<00:00, 771.89it/s]\n"
+     ]
+    }
+   ],
+   "source": [
+    "# Dataset and preparation\n",
+    "transform=transforms.Compose([\n",
+    "            transforms.Resize((28,28)),\n",
+    "            transforms.Grayscale(),\n",
+    "            transforms.ToTensor(),\n",
+    "            transforms.Normalize((0,),(1,))])\n",
+    "dataPath='~/datasets' # download MNIST in the path\n",
+    "mnistTrain=datasets.MNIST(dataPath,train=True,download=True,transform=transform)\n",
+    "mnistTest=datasets.MNIST(dataPath,train=False,download=True,transform=transform)\n",
+    "\n",
+    "selected_data=mnistTest.data[0:10]\n",
+    "time,spikes_list_flatten=mySpiNNaker.convert_to_latency_code_V4(selected_data, tarnsposed=False, samples_intervel=SMAPLES_INTERVAL, time_step=TIME_STEP, num_steps=NUM_STEPS)\n",
+    "runtime =time"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2022-11-17 13:29:49 INFO: Read configs files: /home/bbpnrsoa/sPyNNakerGit/SpiNNUtils/spinn_utilities/spinn_utilities.cfg, /home/bbpnrsoa/sPyNNakerGit/SpiNNMachine/spinn_machine/spinn_machine.cfg, /home/bbpnrsoa/sPyNNakerGit/PACMAN/pacman/pacman.cfg, /home/bbpnrsoa/sPyNNakerGit/SpiNNMan/spinnman/spinnman.cfg, /home/bbpnrsoa/sPyNNakerGit/DataSpecification/data_specification/data_specification.cfg, /home/bbpnrsoa/sPyNNakerGit/SpiNNFrontEndCommon/spinn_front_end_common/interface/spinnaker.cfg, /home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/spynnaker.cfg, /home/bbpnrsoa/.spynnaker.cfg\n",
+      "2022-11-17 13:29:49 INFO: Will search these locations for binaries: /home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/model_binaries : /home/bbpnrsoa/sPyNNakerGit/SpiNNFrontEndCommon/spinn_front_end_common/common_model_binaries\n",
+      "2022-11-17 13:29:49 WARNING: /home/bbpnrsoa/FromSep2022/test_For_Paper/ForReportOnTheResults(ToSeeWaySpikesMoveUpAndDone)/improved_2/reports has 46 old reports that have not been closed\n",
+      "2022-11-17 13:29:49 INFO: Setting hardware timestep as 1000 microseconds based on simulation time step of 1000 and timescale factor of 1\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "===============#############************  ====>>>>  -55.4\n",
+      "['/home/bbpnrsoa/sPyNNakerGit/SpiNNUtils/spinn_utilities/spinn_utilities.cfg', '/home/bbpnrsoa/sPyNNakerGit/SpiNNMachine/spinn_machine/spinn_machine.cfg', '/home/bbpnrsoa/sPyNNakerGit/PACMAN/pacman/pacman.cfg', '/home/bbpnrsoa/sPyNNakerGit/SpiNNMan/spinnman/spinnman.cfg', '/home/bbpnrsoa/sPyNNakerGit/DataSpecification/data_specification/data_specification.cfg', '/home/bbpnrsoa/sPyNNakerGit/SpiNNFrontEndCommon/spinn_front_end_common/interface/spinnaker.cfg', '/home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/spynnaker.cfg', '/home/bbpnrsoa/.spynnaker.cfg']\n",
+      "exp_pop_number_0 has 400 neurons\n",
+      "exp_pop_number_1 has 1600 neurons\n",
+      "Porjection from Input ot Excitatory pop_0 is created\n",
+      "============================================================\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2022-11-17 13:29:54 INFO: Starting execution process\n",
+      "2022-11-17 13:29:54 INFO: Simulating for 295 1.0 ms timesteps using a hardware timestep of 1000 us\n",
+      "2022-11-17 13:29:54 INFO: SpYNNakerNeuronGraphNetworkSpecificationReport skipped as cfg Reports:write_network_graph is False\n",
+      "2022-11-17 13:29:54 INFO: Network Specification report took 0:00:00.000399 \n",
+      "2022-11-17 13:29:54 INFO: Splitter reset took 0:00:00.000016 \n",
+      "Adding Splitter selectors where appropriate\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:29:54 INFO: Spynnaker splitter selector took 0:00:00.008500 \n",
+      "Adding delay extensions as required\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:29:54 INFO: DelaySupportAdder took 0:00:00.009230 \n",
+      "Partitioning Graph\n",
+      "|0%                          50%                         100%|\n",
+      " ===================="
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Porjection from Excitatory pop_0 ot Excitatory pop_1 is created\n",
+      "============================================================\n",
+      "============================================================\n",
+      "Runing simulator for 295ms ...\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "========================================\n",
+      "2022-11-17 13:29:55 INFO: SpynnakerSplitterPartitioner took 0:00:00.329034 \n",
+      "2022-11-17 13:29:55 INFO: 0.02 Boards Required for 1 chips\n",
+      "2022-11-17 13:29:55 INFO: Requesting job with 1 boards\n",
+      "Created spalloc job 6868457\n",
+      "2022-11-17 13:29:55 INFO: Created spalloc job 6868457\n",
+      "Waiting for board power commands to complete.\n",
+      "2022-11-17 13:29:55 INFO: Waiting for board power commands to complete.\n",
+      "2022-11-17 13:30:00 INFO: boards: [(0, 0): '10.11.193.129']\n",
+      "2022-11-17 13:30:00 INFO: SpallocAllocator took 0:00:05.051999 \n",
+      "2022-11-17 13:30:00 INFO: Creating transceiver for 10.11.193.129\n",
+      "2022-11-17 13:30:00 INFO: Working out if machine is booted\n",
+      "2022-11-17 13:30:04 INFO: Attempting to boot machine\n",
+      "2022-11-17 13:30:10 INFO: Found board with version [Version: SC&MP 3.4.2 at SpiNNaker:0:0:0 (built Fri Jun 10 17:21:19 2022)]\n",
+      "2022-11-17 13:30:10 INFO: Machine communication successful\n",
+      "2022-11-17 13:30:10 INFO: Detected a machine on IP address 10.11.193.129 which has 856 cores and 120.0 links\n",
+      "2022-11-17 13:30:10 INFO: Machine generator took 0:00:09.938177 \n",
+      "2022-11-17 13:30:10 INFO: Json machine skipped as cfg Reports:write_json_machine is False\n",
+      "Writing the board chip report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Board chip report took 0:00:00.007856 \n",
+      "Adding commands\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Command Sender Adder took 0:00:00.008324 \n",
+      "2022-11-17 13:30:10 INFO: Split Live Gather Vertices took 0:00:00.000016 \n",
+      "Adding Chip power monitors to Graph\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Insert chip power monitors took 0:00:00.028792 \n",
+      "2022-11-17 13:30:10 INFO: Insert extra monitor vertices took 0:00:00.000021 \n",
+      "Inserting extra monitors into graphs\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Generating partitioner report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Partitioner report took 0:00:00.002853 \n",
+      "2022-11-17 13:30:10 INFO: Local TDMA builder took 0:00:00.000282 \n",
+      "Placing Vertices\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Application Placer took 0:00:00.009743 \n",
+      "Generating placement report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Generating placement by core report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Placements wth application graph report took 0:00:00.040097 \n",
+      "2022-11-17 13:30:10 INFO: Json placements skipped as cfg Reports:write_json_placements is False\n",
+      "Generating routing tables for data in system processes\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: System multicast routing generator took 0:00:00.010410 \n",
+      "Generating fixed router routes\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Fixed route router took 0:00:00.009081 \n",
+      "Routing\n",
+      "|0%                          50%                         100%|\n",
+      " /home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/models/neural_projections/connectors/from_list_connector.py:157: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n",
+      "  split_indices = numpy.array(numpy.split(\n",
+      "============================================================\n",
+      "2022-11-17 13:30:10 INFO: Application Router took 0:00:00.070109 \n",
+      "Allocating tags\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Basic tag allocator took 0:00:00.046999 \n",
+      "Reporting Tags\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Tag allocator report took 0:00:00.007281 \n",
+      "Calculating zones\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Allocating routing keys\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Zoned routing info allocator took 0:00:00.015057 \n",
+      "Generating Routing info report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "\n",
+      "2022-11-17 13:30:10 INFO: Router info report took 0:00:00.009632 \n",
+      "Generating routing tables\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Merged routing table generator took 0:00:00.007850 \n",
+      "Generating Router table report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Uncompressed routing table report took 0:00:00.008746 \n",
+      "2022-11-17 13:30:10 INFO: Router report skipped as cfg Reports:write_router_reports is False\n",
+      "2022-11-17 13:30:10 INFO: Router summary report skipped as cfg Reports:write_router_summary_report is False\n",
+      "2022-11-17 13:30:10 INFO: Json routing tables skipped as cfg Reports:write_json_routing_tables is False\n",
+      "Finding executable start types\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Locate executable start type took 0:00:00.047623 \n",
+      "Initialising buffers\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Buffer manager creator took 0:00:00.051204 \n",
+      "Allocating SDRAM for SDRAM outgoing egde partitions\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: SDRAM outgoing partition allocator took 0:00:00.005000 \n",
+      "Preparing Routing Tables\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Routing setup took 0:00:00.008774 \n",
+      "Finding binaries\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:10 INFO: Graph binary gatherer took 0:00:00.052777 \n",
+      "2022-11-17 13:30:10 INFO: Pair on chip router compression skipped as Tables already small enough\n",
+      "Generating data specifications\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:12 INFO: Spynnaker data specification writer took 0:00:02.085197 \n",
+      "2022-11-17 13:30:12 INFO: Control Sync took 0:00:00.000550 \n",
+      "loading fixed routes\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:12 INFO: Load fixed routes took 0:00:00.080855 \n",
+      "Executing data specifications and loading data for system vertices using Java\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:14 INFO: Execute system data specification took 0:00:01.437735 \n",
+      "Loading system executables onto the machine\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:14 INFO: Load executable system Images took 0:00:00.281579 \n",
+      "Clearing tags\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Loading Tags\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:14 INFO: Tags Loader took 0:00:00.020705 \n",
+      "Executing data specifications and loading data for application vertices using Java\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:17 INFO: Host data specification took 0:00:02.514094 \n",
+      "Preparing to Expand Synapses\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Expanding Synapses\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "\n",
+      "\n",
+      "2022-11-17 13:30:17 INFO: Synapse expander took 0:00:00.569950 \n",
+      "Finding cores where bitfields are to be generated\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Expanding bitfields on the machine\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "\n",
+      "2022-11-17 13:30:18 INFO: Execute on chip bitfield generator took 0:00:00.651393 \n",
+      "Finalising Retrieved Connections\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:18 INFO: Finish connection holders took 0:00:00.016954 \n",
+      "Loading routing data onto the machine\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:18 INFO: Routing table loader took 0:00:00.013469 \n",
+      "2022-11-17 13:30:18 INFO: Bitfield compressor report skipped as cfg Reports:write_bit_field_compressor_report is False\n",
+      "2022-11-17 13:30:18 INFO: Tags from machine report took 0:00:00.002937 \n",
+      "2022-11-17 13:30:18 INFO: Memory report skipped as cfg Reports:write_memory_map_report is False\n",
+      "2022-11-17 13:30:18 INFO: Memory report skipped as cfg Reports:write_memory_map_report is False\n",
+      "Generating compressed router table report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Generating comparison of router table report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Generating Routing summary report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Reading Routing Tables from Machine\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:18 INFO: Compressor report took 0:00:00.109426 \n",
+      "Writing fixed route report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:18 INFO: Fixed route report took 0:00:00.046543 \n",
+      "Loading executables onto the machine\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:19 INFO: Load executable app images took 0:00:00.593514 \n",
+      "2022-11-17 13:30:19 INFO: Running for 1 steps for a total of 295.0ms\n",
+      "2022-11-17 13:30:19 INFO: Run 1 of 1\n",
+      "Generating SDRAM usage report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:19 INFO: Sdram usage per chip report took 0:00:00.087471 \n",
+      "2022-11-17 13:30:19 INFO: Drift report skipped as cfg Reports:write_drift_report_start is False\n",
+      "2022-11-17 13:30:19 INFO: Creating live event connection database in /home/bbpnrsoa/FromSep2022/test_For_Paper/ForReportOnTheResults(ToSeeWaySpikesMoveUpAndDone)/improved_2/reports/2022-11-17-13-29-49-630243/run_1/input_output_database.sqlite3\n",
+      "Creating graph description database\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:19 INFO: Create database interface took 0:00:00.031109 \n",
+      "2022-11-17 13:30:19 INFO: ** Notifying external sources that the database is ready for reading **\n",
+      "2022-11-17 13:30:19 INFO: Create notification protocol took 0:00:00.001314 \n",
+      "Waiting for cores to be either in PAUSED or READY state\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Updating run time\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:19 INFO: Runtime Update took 0:00:00.063686 \n",
+      "2022-11-17 13:30:19 INFO: *** Running simulation... *** \n",
+      "Loading buffers\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:19 INFO: ** Awaiting for a response from an external source to state its ready for the simulation to start **\n",
+      "2022-11-17 13:30:19 INFO: ** Sending start / resume message to external sources to state the simulation has started or resumed. **\n",
+      "2022-11-17 13:30:19 INFO: ** Awaiting for a response from an external source to state its ready for the simulation to start **\n",
+      "2022-11-17 13:30:19 INFO: Application started; waiting 0.395s for it to stop\n",
+      "2022-11-17 13:30:19 INFO: ** Sending pause / stop message to external sources to state the simulation has been paused or stopped. **\n",
+      "2022-11-17 13:30:19 INFO: Application runner took 0:00:00.551099 \n",
+      "2022-11-17 13:30:19 INFO: Extract IO buff skipped as cfg Reports:extract_iobuf is False\n",
+      "Extracting buffers from the last run\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "\n",
+      "2022-11-17 13:30:23 INFO: Buffer extractor took 0:00:03.608964 \n",
+      "clearing IOBUF from the machine\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:23 INFO: Clear IO buffer took 0:00:00.045705 \n",
+      "Getting provenance data from application graph\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:23 INFO: Graph provenance gatherer took 0:00:00.011807 \n",
+      "Getting provenance data\n",
+      "|0%                          50%                         100%|\n",
+      " ======================================================2022-11-17 13:30:23 WARNING: On Slice Slice(lo_atom=0, hi_atom=255, n_atoms=256, shape=(256,), start=(0,)) of EXC_POP_0 on 0,0,5, 156 packets were dropped from the input buffer, because they arrived too late to be processed in a given time step. Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: A maximum of 2 background tasks were queued on Slice Slice(lo_atom=0, hi_atom=255, n_atoms=256, shape=(256,), start=(0,)) of EXC_POP_0 on 0,0,5.  Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "=2022-11-17 13:30:23 WARNING: On Slice Slice(lo_atom=256, hi_atom=399, n_atoms=144, shape=(144,), start=(256,)) of EXC_POP_0 on 0,0,6, 64 packets were dropped from the input buffer, because they arrived too late to be processed in a given time step. Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: A maximum of 2 background tasks were queued on Slice Slice(lo_atom=256, hi_atom=399, n_atoms=144, shape=(144,), start=(256,)) of EXC_POP_0 on 0,0,6.  Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "=2022-11-17 13:30:23 WARNING: The input buffer for Slice Slice(lo_atom=0, hi_atom=255, n_atoms=256, shape=(256,), start=(0,)) of EXC_POP_1 on 0,0,7 lost packets on 1629 occasions. This is often a sign that the system is running too quickly for the number of neurons per core.  Please increase the timer_tic or time_scale_factor or decrease the number of neurons per core.\n",
+      "2022-11-17 13:30:23 WARNING: On Slice Slice(lo_atom=0, hi_atom=255, n_atoms=256, shape=(256,), start=(0,)) of EXC_POP_1 on 0,0,7, 8147 packets were dropped from the input buffer, because they arrived too late to be processed in a given time step. Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: A maximum of 4 background tasks were queued on Slice Slice(lo_atom=0, hi_atom=255, n_atoms=256, shape=(256,), start=(0,)) of EXC_POP_1 on 0,0,7.  Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: The input buffer for Slice Slice(lo_atom=256, hi_atom=511, n_atoms=256, shape=(256,), start=(256,)) of EXC_POP_1 on 0,0,8 lost packets on 1629 occasions. This is often a sign that the system is running too quickly for the number of neurons per core.  Please increase the timer_tic or time_scale_factor or decrease the number of neurons per core.\n",
+      "2022-11-17 13:30:23 WARNING: On Slice Slice(lo_atom=256, hi_atom=511, n_atoms=256, shape=(256,), start=(256,)) of EXC_POP_1 on 0,0,8, 8149 packets were dropped from the input buffer, because they arrived too late to be processed in a given time step. Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: A maximum of 4 background tasks were queued on Slice Slice(lo_atom=256, hi_atom=511, n_atoms=256, shape=(256,), start=(256,)) of EXC_POP_1 on 0,0,8.  Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "=2022-11-17 13:30:23 WARNING: The input buffer for Slice Slice(lo_atom=512, hi_atom=767, n_atoms=256, shape=(256,), start=(512,)) of EXC_POP_1 on 0,0,9 lost packets on 1629 occasions. This is often a sign that the system is running too quickly for the number of neurons per core.  Please increase the timer_tic or time_scale_factor or decrease the number of neurons per core.\n",
+      "2022-11-17 13:30:23 WARNING: On Slice Slice(lo_atom=512, hi_atom=767, n_atoms=256, shape=(256,), start=(512,)) of EXC_POP_1 on 0,0,9, 8151 packets were dropped from the input buffer, because they arrived too late to be processed in a given time step. Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: A maximum of 4 background tasks were queued on Slice Slice(lo_atom=512, hi_atom=767, n_atoms=256, shape=(256,), start=(512,)) of EXC_POP_1 on 0,0,9.  Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: The input buffer for Slice Slice(lo_atom=768, hi_atom=1023, n_atoms=256, shape=(256,), start=(768,)) of EXC_POP_1 on 0,0,10 lost packets on 1629 occasions. This is often a sign that the system is running too quickly for the number of neurons per core.  Please increase the timer_tic or time_scale_factor or decrease the number of neurons per core.\n",
+      "2022-11-17 13:30:23 WARNING: On Slice Slice(lo_atom=768, hi_atom=1023, n_atoms=256, shape=(256,), start=(768,)) of EXC_POP_1 on 0,0,10, 8151 packets were dropped from the input buffer, because they arrived too late to be processed in a given time step. Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: A maximum of 4 background tasks were queued on Slice Slice(lo_atom=768, hi_atom=1023, n_atoms=256, shape=(256,), start=(768,)) of EXC_POP_1 on 0,0,10.  Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "=2022-11-17 13:30:23 WARNING: The input buffer for Slice Slice(lo_atom=1024, hi_atom=1279, n_atoms=256, shape=(256,), start=(1024,)) of EXC_POP_1 on 0,0,11 lost packets on 1629 occasions. This is often a sign that the system is running too quickly for the number of neurons per core.  Please increase the timer_tic or time_scale_factor or decrease the number of neurons per core.\n",
+      "2022-11-17 13:30:23 WARNING: On Slice Slice(lo_atom=1024, hi_atom=1279, n_atoms=256, shape=(256,), start=(1024,)) of EXC_POP_1 on 0,0,11, 8150 packets were dropped from the input buffer, because they arrived too late to be processed in a given time step. Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: A maximum of 4 background tasks were queued on Slice Slice(lo_atom=1024, hi_atom=1279, n_atoms=256, shape=(256,), start=(1024,)) of EXC_POP_1 on 0,0,11.  Try increasing the time_scale_factor located within the .spynnaker.cfg file or in the pynn.setup() method.\n",
+      "2022-11-17 13:30:23 WARNING: Additional interesting provenace items in /home/bbpnrsoa/FromSep2022/test_For_Paper/ForReportOnTheResults(ToSeeWaySpikesMoveUpAndDone)/improved_2/reports/2022-11-17-13-29-49-630243/run_1/provenance_data/provenance.sqlite3\n",
+      "==\n",
+      "2022-11-17 13:30:23 INFO: Placements provenance gatherer took 0:00:00.332423 \n",
+      "Getting Router Provenance\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:24 INFO: Router provenance gatherer took 0:00:00.219347 \n",
+      "Getting profile data\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:24 INFO: Profile data gatherer took 0:00:00.048060 \n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(0, 0)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(0, 1)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(0, 2)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(0, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(1, 0)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(1, 1)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(1, 2)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(1, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(1, 4)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(2, 0)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(2, 1)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(2, 2)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(2, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(2, 4)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(2, 5)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(3, 0)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(3, 1)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(3, 2)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(3, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(3, 4)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(3, 5)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(3, 6)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 0)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 1)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 2)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 4)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 5)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 6)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(4, 7)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(5, 1)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(5, 2)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(5, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(5, 4)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(5, 5)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(5, 6)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(5, 7)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(6, 2)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(6, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(6, 4)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(6, 5)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(6, 6)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(6, 7)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(7, 3)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(7, 4)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(7, 5)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(7, 6)\n",
+      "2022-11-17 13:30:24 WARNING: Chip Power monitor has lost data on chip(7, 7)\n",
+      "2022-11-17 13:30:26 INFO: Energy report took 0:00:02.003967 \n",
+      "2022-11-17 13:30:26 INFO: Redundant packet count report took 0:00:00.017027 \n",
+      "2022-11-17 13:30:26 INFO: Drift report skipped as cfg Reports:write_drift_report_end is False\n",
+      "2022-11-17 13:30:26 INFO: Control Sync took 0:00:00.000503 \n",
+      "2022-11-17 13:30:26 WARNING: Second call to end ignored\n",
+      "2022-11-17 13:30:26 INFO: Read configs files: /home/bbpnrsoa/sPyNNakerGit/SpiNNUtils/spinn_utilities/spinn_utilities.cfg, /home/bbpnrsoa/sPyNNakerGit/SpiNNMachine/spinn_machine/spinn_machine.cfg, /home/bbpnrsoa/sPyNNakerGit/PACMAN/pacman/pacman.cfg, /home/bbpnrsoa/sPyNNakerGit/SpiNNMan/spinnman/spinnman.cfg, /home/bbpnrsoa/sPyNNakerGit/DataSpecification/data_specification/data_specification.cfg, /home/bbpnrsoa/sPyNNakerGit/SpiNNFrontEndCommon/spinn_front_end_common/interface/spinnaker.cfg, /home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/spynnaker.cfg, /home/bbpnrsoa/.spynnaker.cfg\n",
+      "2022-11-17 13:30:26 INFO: Will search these locations for binaries: /home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/model_binaries : /home/bbpnrsoa/sPyNNakerGit/SpiNNFrontEndCommon/spinn_front_end_common/common_model_binaries\n",
+      "2022-11-17 13:30:26 WARNING: /home/bbpnrsoa/FromSep2022/test_For_Paper/ForReportOnTheResults(ToSeeWaySpikesMoveUpAndDone)/improved_2/reports has 46 old reports that have not been closed\n",
+      "2022-11-17 13:30:26 INFO: Setting hardware timestep as 1000 microseconds based on simulation time step of 1000 and timescale factor of 1\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "==========================================================================\n",
+      "|               Simulation terminated after 295.0 ms \n",
+      "==========================================================================\n",
+      "['/home/bbpnrsoa/sPyNNakerGit/SpiNNUtils/spinn_utilities/spinn_utilities.cfg', '/home/bbpnrsoa/sPyNNakerGit/SpiNNMachine/spinn_machine/spinn_machine.cfg', '/home/bbpnrsoa/sPyNNakerGit/PACMAN/pacman/pacman.cfg', '/home/bbpnrsoa/sPyNNakerGit/SpiNNMan/spinnman/spinnman.cfg', '/home/bbpnrsoa/sPyNNakerGit/DataSpecification/data_specification/data_specification.cfg', '/home/bbpnrsoa/sPyNNakerGit/SpiNNFrontEndCommon/spinn_front_end_common/interface/spinnaker.cfg', '/home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/spynnaker.cfg', '/home/bbpnrsoa/.spynnaker.cfg']\n",
+      "exp_pop_number_0 has 400 neurons\n",
+      "exp_pop_number_1 has 1600 neurons\n",
+      "Porjection from Input ot Excitatory pop_0 is created\n",
+      "============================================================\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2022-11-17 13:30:31 INFO: Starting execution process\n",
+      "2022-11-17 13:30:31 INFO: Simulating for 295 1.0 ms timesteps using a hardware timestep of 1000 us\n",
+      "2022-11-17 13:30:31 INFO: SpYNNakerNeuronGraphNetworkSpecificationReport skipped as cfg Reports:write_network_graph is False\n",
+      "2022-11-17 13:30:31 INFO: Network Specification report took 0:00:00.000576 \n",
+      "2022-11-17 13:30:31 INFO: Splitter reset took 0:00:00.000016 \n",
+      "Adding Splitter selectors where appropriate\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:31 INFO: Spynnaker splitter selector took 0:00:00.009812 \n",
+      "Adding delay extensions as required\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:31 INFO: DelaySupportAdder took 0:00:00.014613 \n",
+      "Partitioning Graph\n",
+      "|0%                          50%                         100%|\n",
+      " ===================="
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Porjection from Excitatory pop_0 ot Excitatory pop_1 is created\n",
+      "============================================================\n",
+      "============================================================\n",
+      "Runing simulator for 295ms ...\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "========================================\n",
+      "2022-11-17 13:30:31 INFO: SpynnakerSplitterPartitioner took 0:00:00.331901 \n",
+      "2022-11-17 13:30:31 INFO: 0.02 Boards Required for 1 chips\n",
+      "2022-11-17 13:30:31 INFO: Requesting job with 1 boards\n",
+      "Created spalloc job 6868458\n",
+      "2022-11-17 13:30:31 INFO: Created spalloc job 6868458\n",
+      "Waiting for board power commands to complete.\n",
+      "2022-11-17 13:30:31 INFO: Waiting for board power commands to complete.\n",
+      "2022-11-17 13:30:36 INFO: boards: [(0, 0): '10.11.193.65']\n",
+      "2022-11-17 13:30:36 INFO: SpallocAllocator took 0:00:05.051264 \n",
+      "2022-11-17 13:30:36 INFO: Creating transceiver for 10.11.193.65\n",
+      "2022-11-17 13:30:36 INFO: Working out if machine is booted\n",
+      "2022-11-17 13:30:40 INFO: Attempting to boot machine\n",
+      "2022-11-17 13:30:46 INFO: Found board with version [Version: SC&MP 3.4.2 at SpiNNaker:0:0:0 (built Fri Jun 10 17:21:19 2022)]\n",
+      "2022-11-17 13:30:46 INFO: Machine communication successful\n",
+      "2022-11-17 13:30:46 INFO: Detected a machine on IP address 10.11.193.65 which has 854 cores and 120.0 links\n",
+      "2022-11-17 13:30:46 INFO: Machine generator took 0:00:09.939491 \n",
+      "2022-11-17 13:30:46 INFO: Json machine skipped as cfg Reports:write_json_machine is False\n",
+      "Writing the board chip report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: Board chip report took 0:00:00.010967 \n",
+      "Adding commands\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: Command Sender Adder took 0:00:00.017361 \n",
+      "2022-11-17 13:30:46 INFO: Split Live Gather Vertices took 0:00:00.000031 \n",
+      "Adding Chip power monitors to Graph\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: Insert chip power monitors took 0:00:00.037982 \n",
+      "2022-11-17 13:30:46 INFO: Insert extra monitor vertices took 0:00:00.000019 \n",
+      "Inserting extra monitors into graphs\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Generating partitioner report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: Partitioner report took 0:00:00.009063 \n",
+      "2022-11-17 13:30:46 INFO: Local TDMA builder took 0:00:00.000318 \n",
+      "Placing Vertices\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: Application Placer took 0:00:00.010321 \n",
+      "Generating placement report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Generating placement by core report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: Placements wth application graph report took 0:00:00.032126 \n",
+      "2022-11-17 13:30:46 INFO: Json placements skipped as cfg Reports:write_json_placements is False\n",
+      "Generating routing tables for data in system processes\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: System multicast routing generator took 0:00:00.009102 \n",
+      "Generating fixed router routes\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:46 INFO: Fixed route router took 0:00:00.008056 \n",
+      "Routing\n",
+      "|0%                          50%                         100%|\n",
+      " /home/bbpnrsoa/sPyNNakerGit/sPyNNaker/spynnaker/pyNN/models/neural_projections/connectors/from_list_connector.py:157: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n",
+      "  split_indices = numpy.array(numpy.split(\n",
+      "============================================================\n",
+      "2022-11-17 13:30:47 INFO: Application Router took 0:00:00.048389 \n",
+      "Allocating tags\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Basic tag allocator took 0:00:00.038553 \n",
+      "Reporting Tags\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Tag allocator report took 0:00:00.008431 \n",
+      "Calculating zones\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "Allocating routing keys\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Zoned routing info allocator took 0:00:00.016840 \n",
+      "Generating Routing info report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "\n",
+      "2022-11-17 13:30:47 INFO: Router info report took 0:00:00.009516 \n",
+      "Generating routing tables\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Merged routing table generator took 0:00:00.007993 \n",
+      "Generating Router table report\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Uncompressed routing table report took 0:00:00.008344 \n",
+      "2022-11-17 13:30:47 INFO: Router report skipped as cfg Reports:write_router_reports is False\n",
+      "2022-11-17 13:30:47 INFO: Router summary report skipped as cfg Reports:write_router_summary_report is False\n",
+      "2022-11-17 13:30:47 INFO: Json routing tables skipped as cfg Reports:write_json_routing_tables is False\n",
+      "Finding executable start types\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Locate executable start type took 0:00:00.041289 \n",
+      "Initialising buffers\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Buffer manager creator took 0:00:00.039382 \n",
+      "Allocating SDRAM for SDRAM outgoing egde partitions\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: SDRAM outgoing partition allocator took 0:00:00.009337 \n",
+      "Preparing Routing Tables\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Routing setup took 0:00:00.012468 \n",
+      "Finding binaries\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:47 INFO: Graph binary gatherer took 0:00:00.045896 \n",
+      "2022-11-17 13:30:47 INFO: Pair on chip router compression skipped as Tables already small enough\n",
+      "Generating data specifications\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:49 INFO: Spynnaker data specification writer took 0:00:02.053899 \n",
+      "2022-11-17 13:30:49 INFO: Control Sync took 0:00:00.000535 \n",
+      "loading fixed routes\n",
+      "|0%                          50%                         100%|\n",
+      " ============================================================\n",
+      "2022-11-17 13:30:49 INFO: Load fixed routes took 0:00:00.038028 \n",
+      "Executing data specifications and loading data for system vertices using Java\n",
+      "|0%                          50%                         100%|\n",
+      " "
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "for test_num, mySpiNNaker.excitatory_neuron_parameters['tau_refrac'] in enumerate(range(5,10,5)):\n",
+    "    v_th=mySpiNNaker.excitatory_neuron_parameters['v_thresh']\n",
+    "    tau_refrac=mySpiNNaker.excitatory_neuron_parameters['tau_refrac']\n",
+    "    print(f'===============#############************  ====>>>>  {v_th}')\n",
+    "    for number_of_neurons_per_core in number_of_neurons_per_cores:\n",
+    "        for time_step, timeScaleFactor in zip(timestep, time_scale_factor):\n",
+    "            param_name='number_of_neurons_per_core_time_step_timeScaleFactor_tau_refrac'\n",
+    "            param_val=[number_of_neurons_per_core, time_step, timeScaleFactor, tau_refrac]\n",
+    "\n",
+    "            if not os.path.exists(f'{path}/{str(now)}/{param_name}_{str(param_val)}'):   #   1\n",
+    "                os.mkdir(f'{path}/{str(now)}/{param_name}_{str(param_val)}')\n",
+    "\n",
+    "            tests_name=['0_0_25_0.7_Zero_Removed_False_not_transposed', '1_1_25_0.7_Zero_Removed_False_not_transposed']\n",
+    "\n",
+    "            if not os.path.exists(f'{path}/{str(now)}/{param_name}_{str(param_val)}/{str(time)}'):    #   2\n",
+    "                os.mkdir(f'{path}/{str(now)}/{param_name}_{str(param_val)}/{str(time)}')\n",
+    "\n",
+    "            total_mem=[]\n",
+    "            spikes_count=[[] for _ in range(len(tests_name))]\n",
+    "            for n_test, test_name in enumerate(tests_name):\n",
+    "\n",
+    "                if not os.path.exists(f'{path}/{str(now)}/{param_name}_{str(param_val)}/{str(time)}/{test_name}'):     #   3\n",
+    "                    os.mkdir(f'{path}/{str(now)}/{param_name}_{str(param_val)}/{str(time)}/{test_name}')\n",
+    "                save_path=f'{path}/{str(now)}/{param_name}_{str(param_val)}/{str(time)}/{test_name}'\n",
+    "                v_th=mySpiNNaker.excitatory_neuron_parameters['v_thresh']\n",
+    "                postfix=f'{test_name}_simulation_time_{time}_{param_name}_{str(param_val)}_V_th_{str(v_th)}_tau_refrac_{tau_refrac}'\n",
+    "\n",
+    "                weights_files=[f'weights_fc1_{test_name}.txt', f'weights_fc2_{test_name}.txt']\n",
+    "                #============================== Populations and kernels( input<---> kernel (Connections) <--->output)        \n",
+    "                mySpiNNaker.init_sim(time_step, timeScaleFactor, neuron_tpye, number_of_neurons_per_core)\n",
+    "                INPUT_POP, EXC_POPs, INH_POPs = mySpiNNaker.make_populations(spikes_list_flatten, EXC_POP_SIZE, INH_POP_SIZE)\n",
+    "                INPUT_EXC_PRJ, EXC_EXC_PRJs = mySpiNNaker.make_projections_from_file(INPUT_POP, EXC_POPs, INH_POPs, weights_files)\n",
+    "                #============================== Set what to be recorded\n",
+    "                activities=['v', 'spikes']\n",
+    "                mySpiNNaker.record_activities(activities, INPUT_POP, EXC_POPs, INH_POPs)               \n",
+    "                print(f'Runing simulator for {runtime}ms ...')\n",
+    "                #============================== Run simulation\n",
+    "                elapsed_time = mySpiNNaker.sim.run(runtime)\n",
+    "                print('==========================================================================')\n",
+    "                print(f'|               Simulation terminated after {elapsed_time} ms ')\n",
+    "                print('==========================================================================')\n",
+    "\n",
+    "                mySpiNNaker.sim.end()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "snntorch",
+   "language": "python",
+   "name": "snntorch"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.10"
+  },
+  "vscode": {
+   "interpreter": {
+    "hash": "20a24a3a4007955ef5ee2dc9fb7716c1a03a2c0fc0e1cbee0d7177cafa6993b3"
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
-- 
GitLab