{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# 🔊 Training an audio classification task using Torch 🔥\n", "\n", "The examples so far are predominantly regression-based. Rockpool is designed for time-series tasks, such as audio processing. This tutorial provides a basic overview of how one can train Rockpool on a standard dataset that is more representative of real-world tasks. For this example we use the [Spiking Heidelberg Datasets](https://zenkelab.org/resources/spiking-heidelberg-datasets-shd/) and Spiking Heidelberg Digits (SHD) specifically. SHD consists of 8156 samples of spoken digits between 0 and 9 in English and German by 12 different speakers, corresponding to 20 possible classes. Each sample has 700 channels and up to around a second of data." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Importing the SHD Dataset Using Tonic\n", "\n", "The creators of the SHD dataset provide a [tutorial implementation](https://github.com/fzenke/spytorch/blob/main/notebooks/SpyTorchTutorial4.ipynb) which details how to download the data and demonstrates a custom class to import the dataset. As-downloaded, the default format of the SHD dataset is HDF5 files. For simplicity, we use [Tonic](https://tonic.readthedocs.io/en/latest/index.html), a Python package which provides event-based vision and audio datasets and transformations. Tonic provides the ability to load the SHD dataset in just a few lines of code, as well as transform the input easily into a low-dimensional form. Make sure this is installed as per the Tonic webpage instructions before proceeding with this tutorial.\n" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "We can use Rockpool's :py:class:`TSEvent` class to visualise the data:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# - Imports for loading data\n", "import tonic\n", "from tonic import datasets, transforms\n", "from torch.utils.data import DataLoader\n", "import numpy as np\n", "import torch\n", "\n", "from rockpool.timeseries import TSEvent\n", "\n", "try:\n", " from rich import print\n", "except ModuleNotFoundError:\n", " pass \n", "\n", "import sys\n", "!{sys.executable} -m pip install --quiet matplotlib\n", "import matplotlib.pyplot as plt\n", "plt.rcParams['figure.figsize'] = [12, 6]\n", "\n", "download_dir='./data'\n", "\n", "# - Download and import the training data. The transform ensures the data has a floating type\n", "train_data = datasets.SHD(download_dir, train=True, transform=transforms.NumpyAsType(float))\n", "\n", "train_dl = iter(DataLoader(train_data, drop_last=True, shuffle=False))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/gAAAIhCAYAAAD6nRHEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD44ElEQVR4nOzde3wTVfo/8E9a0rQNbUpbaMq9QBFKgQLKrSgKrVwFZRUF7/JlRWQX8IauoiiKwroiP1FXWAUFAV1FkYus3EQprVxKkVIUKKUgtJReaEvvJPP7o07IbZKZySQzkzzv18vXLulkcpomM+c55znP0TAMw4AQQgghhBBCCCGqFiR3AwghhBBCCCGEEOI5CvAJIYQQQgghhBA/QAE+IYQQQgghhBDiByjAJ4QQQgghhBBC/AAF+IQQQgghhBBCiB+gAJ8QQgghhBBCCPEDFOATQgghhBBCCCF+gAJ8QgghhBBCCCHED1CATwghhBBCCCGE+AEK8AkhxM+tXr0aGo2G878ff/xR7iY69eOPP0revgULFkCj0bg9jmEYbNiwATfffDPatGmD0NBQtG/fHqNGjcJ//vMfm2M1Gg1mzZrl9DxfffWVw+/AtoH9Lzw83HLu9957D9XV1bx/n19++QV33XUXOnbsCJ1Oh7i4OAwZMgRPP/0073PI5ZFHHkHnzp29dv6jR49Co9Hg999/BwAsXbrU6ev98ccfmDNnDoYPH46oqChoNBqsXr1a8OuNHDkSM2bMcHj8zJkzmDVrFrp3746wsDCEh4ejV69eeOmll3DhwgXLcd5+P7zppZdewvjx49GuXTtoNBo88sgjTo87fvw4Zs6ciSFDhkCv13N+vysqKhAVFYVvv/3Wq+0mhBB/RAE+IYQEiFWrViEzM9Phv/79+8vdNMV54YUXMGXKFPTs2RP/+c9/8P333+P1119HXFwcNm3aJMlrbN++HZmZmdi+fTvefvttdOzYEc899xx69eqFo0ePun3+1q1bMXToUFRVVWHJkiX44YcfsGzZMqSmpuKLL76QpI1qdvDgQURFRaF79+4AgKysLAwcONDhuNOnT+Pzzz9HSEgIxo4dK+q1Nm3ahIyMDMyfP9/m8S1btqBPnz7YsmUL/vrXv2LLli2W/79582aMHz9e1OspzdKlS1FWVoYJEyYgJCSE87hDhw7h22+/RXR0NEaOHMl5XKtWrTB37lw8++yzaGxs9EaTCSHEb7WQuwGEEEJ8Izk5GTfeeKPczVC8uro6vPvuu3jooYewYsUKm5898sgjMJvNkrzOgAEDEBsba/n3fffdh1mzZmH48OGYMGECTp48CZ1Ox/n8JUuWICEhAf/73//QokULm/MsWbJEkjaq2cGDBzFw4EBLxkZWVhb+9re/ORx3yy234PLlywCaA9D169cLfq1FixbhrrvuQrt27SyPFRQU4L777kP37t2xZ88eGAwGy89GjBiBv//97/jmm28Ev5YSVVdXIyioec5ozZo1nMc9+OCDePjhhwE0Z7ds3ryZ89gZM2bg9ddfx1dffYWpU6dK22BCCPFjNINPCCHEgk03X7NmDXr27Inw8HD07dsXW7ZscTj2t99+w5QpUxAXFwedToeOHTvioYceQkNDg+WY3NxcTJw4Ea1atUJoaChSUlLw6aefOj3X6NGjER4ejtjYWMyYMYMzVX3nzp0YOXIkIiMjER4ejtTUVOzatcvhuK1btyIlJQU6nQ4JCQl4++23eb0HNTU1aGhoQHx8vNOfs4GMN/Tt2xcvvvgizp0753YWvqysDLGxsTbBPcu+jV988QVuv/12xMfHIywsDD179sTzzz+Pmpoam+MeeeQRtGzZEr/99htGjRoFvV6P+Ph4vPXWWwCag+Rhw4ZBr9eje/fuDn9LdjnIjh078OijjyI6Ohp6vR533HEHzpw54/b3ZxgGH3zwAVJSUhAWFoZWrVrh7rvv5vVce2yADwDFxcU4d+6c0xl8T/+eR44cwYEDB/Dggw/aPP7OO++gpqYGH3zwgU1wz9JoNJg0aZLLc7///vu45ZZb0KZNG+j1evTu3RtLlixBU1OTQxvGjx+PNm3aQKfToW3bthg3bhz++OMPyzH//e9/MWjQIBgMBoSHh6NLly547LHHPPjNr+P7Hgp5r+Pi4pCeno5///vfYptFCCEBiQJ8QggJECaTCdeuXbP5z2QyORy3detWLF++HK+99hq+/vprREdH46677rIJso4ePYqbbroJWVlZeO211/D999/jzTffRENDgyWl9vfff8fQoUNx/Phx/L//9/+wceNGJCUl4ZFHHrGZYb506RKGDx+O3NxcfPDBB1izZg2uXr3qdF372rVrcfvttyMyMhKffvopvvzyS0RHR2PUqFE2Qf6uXbswceJEREREYMOGDfjnP/+JL7/8EqtWrXL7PsXGxqJbt2744IMP8M477+C3334DwzAun8MwjMN7e+3aNVGz/RMmTAAA/PTTTy6PGzJkCH755Rf8/e9/xy+//OIQ9Fk7deoUxo4di48//hjbt2/HnDlz8OWXX+KOO+5wOLapqQmTJk3CuHHjsGnTJowZMwYvvPAC/vGPf+Dhhx/GY489hm+++QY33HADHnnkERw+fNjhHNOmTUNQUBDWrVuHd999FwcOHMCtt96KK1euuPydHn/8ccyZMwdpaWn49ttv8cEHH+D48eMYOnQoLl265PK5ANC5c2dLbYMjR47g9ddfh0ajsQzWDB8+3OUacTG2bNmC4OBg3HLLLTaP//DDD4iLi8PgwYNFnzs/Px9Tp07FmjVrsGXLFkybNg3//Oc/8fjjj1uOqampQXp6Oi5duoT3338fO3bswLvvvouOHTtaBskyMzNx7733okuXLtiwYQO2bt2Kl19+GdeuXbN5PWefYWf/ufs+SOXWW29FRkaG288NIYQQKwwhhBC/tmrVKgaA0/+Cg4NtjgXAxMXFMVVVVZbHiouLmaCgIObNN9+0PDZixAgmKiqKKSkp4Xzd++67j9HpdMy5c+dsHh8zZgwTHh7OXLlyhWEYhpk3bx6j0WiYnJwcm+PS09MZAMyePXsYhmGYmpoaJjo6mrnjjjtsjjOZTEzfvn2ZgQMHWh4bNGgQ07ZtW6aurs7yWFVVFRMdHc3wufUdOHCA6dixo+V9ioiIYMaPH8989tlnjNlstjmW6721/o/9HRiGYV555RUGAHP58mWnr11XV8cAYMaMGeOyjaWlpcywYcMsr6HVapmhQ4cyb775JlNdXc35PLPZzDQ1NTF79+5lADBHjx61/Ozhhx9mADBff/215bGmpiamdevWDAAmOzvb8nhZWRkTHBzMPPXUU5bH2M/aXXfdZfOaGRkZDADm9ddft3mtTp06Wf6dmZnJAGD+9a9/2Tz3/PnzTFhYGPPcc8+5fD8YhmGOHz/OHDlyhFmyZAkTEhLCHDx4kDly5Ahz5513MqmpqcyRI0eYI0eOMIWFhU6ff/DgQQYAs2rVKrevxRozZgzTo0cPh8dDQ0OZwYMH8z6P/fthz2QyMU1NTcxnn33GBAcHM+Xl5QzDMMyhQ4cYAMy3337L+dy3336bAWD5znHh81l29/7o9Xrm4Ycfdvk6DMMw//3vfx2+G/Z27NjBAGC+//57t+cjhBDSjNbgE0JIgPjss8/Qs2dPm8ecVZS/7bbbEBERYfl3XFwc2rRpg8LCQgBAbW0t9u7di2nTpqF169acr7d7926MHDkSHTp0sHn8kUcewffff4/MzEyMHj0ae/bsQa9evdC3b1+b46ZOnYodO3ZY/r1//36Ul5fj4Ycfdph5HD16NJYsWWJJOT948CBmzpyJ0NBQyzERERG44447nC4RsHfTTTfh9OnT2L17N3766SccOnQIu3btwpYtW/Dll1/iu+++s3nvJk+ejGeffdbpezBv3jy3r2eN4Tk7GhMTg59//tnStkOHDuHHH3/ECy+8gI8++ggHDx60rPE/c+YMXnrpJezevRslJSU2r3HixAn06dPH8m+NRmNTbK5Fixbo1q0bWrRogX79+lkej46OtvlcWLv//vtt/j106FB06tQJe/bswYsvvuj099myZQs0Gg0eeOABm7+v0WhE3759ee2mkJSUBAD49NNPcdNNN1lqTpw8eRKTJ09GSkqK23MIdfHiRbRp00by8wLNqfevvPIKMjIyUF5ebvOzkydPYtCgQejWrRtatWqFefPmoaioCLfccovlfWDddNNNAJo/p9OmTUNqaqpNvQDWwYMHebUrISFB5G8kDPu+Wu82QAghxDUK8AkhJED07NmTV5G9mJgYh8d0Oh3q6uoANG9hZTKZ0L59e5fnKSsrc7qOvW3btpafs//rLGAwGo02/2ZTtO+++27O1ywvL4dGo4HZbHZ4vrNzuqLVajFq1CiMGjXK0s67774bW7Zswffff28TBLdu3drpe3v27Fner8diA2b2fXLnxhtvtLx2U1MT5s2bh6VLl2LJkiVYsmQJrl69iptvvhmhoaF4/fXX0b17d4SHh+P8+fOYNGmS5e/KCg8PtxkYAYCQkBBER0c7vHZISAjq6+sdHud679m/uTOXLl0CwzCIi4tz+vMuXbpwPhdoXoLCDlzs3bsXt99+O65du4by8nKcOHECqampuHbtGjQaDYKDg12eS4i6ujqnbe7YsSMKCgpEn/fcuXO4+eabccMNN2DZsmXo3LkzQkNDceDAATz55JOWv5vBYMDevXvxxhtv4B//+AcqKioQHx+P6dOn46WXXoJWq8Utt9yCb7/9Fv/v//0/S52MXr164cUXX8SUKVMsr8l3AETK988V9nNo/xklhBDCjQJ8QgghgkRHRyM4ONimgJczMTExKCoqcnj84sWLAGCZXY6JiUFxcbHDcfaPsce/9957nOua4+Li0NTUBI1Gw+ucQsTExGDOnDn48ccfkZubK3pLNXe+++47AM3rj4XSarV45ZVXsHTpUuTm5gJoziK4ePEifvzxRwwfPtxyrDfXNXO99926deN8TmxsLDQaDX7++Wenuwe42lEAaN6Hfu/evZZ/HzlyBIsXL7b8Oz09HUDzOnw+2QB8xcbGOsyuA8CoUaPw3nvvISsrS9Q6/G+//RY1NTXYuHEjOnXqZHk8JyfH4djevXtjw4YNYBgGv/76K1avXo3XXnsNYWFheP755wEAEydOxMSJE9HQ0ICsrCy8+eabmDp1Kjp37owhQ4YAaP788LFq1SpJ6xhwYd9X690mCCGEuEZF9gghhAgSFhaG4cOH47///S9KS0s5jxs5cqQluLT22WefITw83BL03HbbbTh+/LjD3u/r1q2z+XdqaiqioqKQl5dnmbW2/y8kJAR6vR4DBw7Exo0bbWaXq6urXW7LxWpqauKcaT5x4gQA/rPrQh09ehSLFi1C586dMXnyZJfHOhs8ARzbyC4lsA+QP/roI0+by+nzzz+3+ff+/ftRWFjoctBi/PjxYBgGFy5ccPq37d27t8vXZJclLFq0CGFhYcjKysLBgwdxxx134JZbbsHBgwdx8OBByX/vHj16OK3yP3fuXOj1esycOROVlZUOP2cYxuU2ec7+bgzDYOXKlS6f07dvXyxduhRRUVHIzs52OEan02H48OGWwY8jR45Yfsa+R+7+c1ac0RvY99V+yQEhhBBuNINPCCEBIjc312HtOgB07drV5Vp6Z9555x0MGzYMgwYNwvPPP49u3brh0qVL+O677/DRRx8hIiICr7zyCrZs2YLbbrsNL7/8MqKjo/H5559j69atWLJkiWXrsDlz5uCTTz7BuHHj8PrrryMuLg6ff/45fvvtN5vXbNmyJd577z08/PDDKC8vx9133402bdrg8uXLOHr0KC5fvowPP/wQALBw4UKMHj0a6enpePrpp2EymbB48WLo9Xqns63WKisr0blzZ9xzzz1IS0tDhw4dcPXqVfz4449YtmwZevbs6XZ7Mz4OHz4Mg8GApqYmXLx4Ebt27cKaNWvQpk0bbN68GSEhIS6fP2rUKLRv3x533HEHevToAbPZjJycHPzrX/9Cy5YtMXv2bADN699btWqFGTNm4JVXXoFWq8Xnn3/uMKAipUOHDuH//u//cM899+D8+fN48cUX0a5dO8ycOZPzOampqfjrX/+KRx99FIcOHcItt9wCvV6PoqIi7Nu3D71798YTTzzB+fwbbrgBAPDBBx9g5MiRGDRoEIDmAPb55593uTzlq6++AnA9oDx06BBatmwJwPWSEKA50+KTTz7ByZMn0b17d8vjCQkJ2LBhA+69916kpKRg1qxZlhoGeXl5+OSTT8AwDO666y6n501PT0dISAimTJmC5557DvX19fjwww9RUVFhc9yWLVvwwQcf4M4770SXLl3AMAw2btyIK1euWLIWXn75Zfzxxx8YOXIk2rdvjytXrmDZsmXQarU2WR18lvA4s3fvXly+fBlA81KJwsJCy3s6fPhwy/WltrYW27ZtA9C85SL73NLSUuj1eowZM8bmvFlZWYiJiXE7uEMIIcSKXNX9CCGE+IarKvoAmJUrV1qOBcA8+eSTDufo1KmTQ2XsvLw85p577mFiYmKYkJAQpmPHjswjjzzC1NfXW445duwYc8cddzAGg4EJCQlh+vbt67QCd15eHpOens6EhoYy0dHRzLRp05hNmzY5rbK9d+9eZty4cUx0dDSj1WqZdu3aMePGjWP++9//2hz33XffMX369LG07a233rJUsHeloaGBefvtt5kxY8YwHTt2ZHQ6HRMaGsr07NmTee6555iysjKb47neM4ZxXimcbQP7n06nY+Lj45nbb7+dWbZsmc0OBq588cUXzNSpU5nExESmZcuWjFarZTp27Mg8+OCDTF5ens2x+/fvZ4YMGcKEh4czrVu3Zv7v//6Pyc7OdqiI/vDDDzN6vd7htYYPH8706tXL4fFOnTox48aNs/yb/az98MMPzIMPPshERUUxYWFhzNixY5lTp07ZPJeravwnn3zCDBo0iNHr9UxYWBjTtWtX5qGHHmIOHTrk9j0xmUxM69atmY8++ohhGMbyO3JVzWe5+n64U1lZybRs2ZJZsmSJ05/n5+czM2fOZLp168bodDomLCyMSUpKYp566immoKDAcpyz92Pz5s1M3759mdDQUKZdu3bMs88+y3z//fc2n6nffvuNmTJlCtO1a1cmLCyMMRgMzMCBA5nVq1dbzrNlyxZmzJgx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ek6sWbNGiouLk1auXOm3nMnJkyft2gUymNZzYsWKFdJbb70lHThwQDpw4ID0yiuvSGlpadKiRYvs2gUymJ5nR0esou8uWs+H5cuXS+vWrZMOHDgglZWVSQsWLJAASH//+9/t2gUymNZz4tSpU1LPnj2lm2++Wfr444+lLVu2SP3795d+9KMf2bULZDC9z4077rhDGjlypO7PjYoAX5IkaeXKlVLv3r2lhIQEafjw4dKWLVt8P7vrrruksWPH+r3/vffek4YNGyYlJCRIffr0kV544QWLt5jMpPV8ANDpv969e1u70WQqLefE2LFjg54Td911l/UbTqbRck78/ve/lwYPHiylpKRIaWlp0rBhw6Tnn39eam1ttWHLySxanx0dMcB3Hy3nQ2FhodSvXz8pKSlJysjIkMaMGSNt2LDBhq0mM2m9R3zyySfShAkTpOTkZKlnz57SQw89JDU2Nlq81WQmrefEyZMnpeTkZOmll17S/ZkeSfq2ehwREREREREROZbr5+ATERERERERRQMG+EREREREREQuwACfiIiIiIiIyAUY4BMRERERERG5AAN8IiIiIiIiIhdggE9ERERERETkAgzwiYiIiIiIiFyAAT4RERERERGRCzDAJyIiikJLlizB0KFDbfv8xYsX45577lH13kceeQQ//elPTd4iIiIi5/NIkiTZvRFERERkHI/HE/bnd911F1asWIHm5mZkZWVZtFXnff311+jfvz/279+PPn36KL7/2LFj6NevH/bv34+8vDzzN5CIiMihGOATERG5THV1te//33jjDfziF7/Ap59+6nstOTkZ6enpdmwaAGDZsmXYsmUL/vWvf6n+nR/84Ae4+OKLUVhYaOKWERERORtT9ImIiFzG6/X6/ktPT4fH4+n0WmCK/t13342bbroJy5YtQ05ODrp164alS5fi3Llz+NnPfobMzEz07NkTr7zyit9nHT16FLfeeisyMjKQlZWFadOm4dChQ2G3b+3atZg6darfa3/7298wZMgQJCcnIysrCxMmTEBDQ4Pv51OnTkVRUVHEx4aIiMjNGOATERERAGDz5s346quvsHXrVjzzzDNYsmQJbrzxRmRkZOD999/HnDlzMGfOHHzxxRcAgMbGRlx33XXo0qULtm7dipKSEnTp0gWTJ09GS0tL0M+ora1FWVkZrrjiCt9rVVVVmDFjBn74wx/ik08+wXvvvYfp06ejY5LhVVddhS+++AKHDx829yAQERE5GAN8IiIiAgBkZmbi97//PQYMGIAf/vCHGDBgABobG/Hzn/8c/fv3x8KFC5GQkIDt27cDaB+Jj4mJwZ/+9CcMGTIEAwcOxKuvvoojR47gvffeC/oZhw8fhiRJ6N69u++1qqoqnDt3DtOnT0efPn0wZMgQ3HfffejSpYvvPT169AAAxewAIiKiaBZn9wYQERGRGAYPHoyYmPN9/zk5OcjPz/f9OzY2FllZWTh27BgAYM+ePTh48CC6du3q93fOnDmDioqKoJ/R1NQEAEhKSvK9dvnll2P8+PEYMmQIrr/+ekyaNAk333wzMjIyfO9JTk4G0J41QERERMExwCciIiIAQHx8vN+/PR5P0Nfa2toAAG1tbRgxYgT+8pe/dPpbF1xwQdDPyM7OBtCeqi+/JzY2FsXFxdixYwfeeecd/OEPf8CiRYvw/vvv+6rmnzhxIuzfJSIiIqboExERkU7Dhw/HZ599hgsvvBAXX3yx33+hqvT369cPaWlpKC8v93vd4/Fg9OjRWLp0Kfbt24eEhASsW7fO9/OysjLEx8dj8ODBpu4TERGRkzHAJyIiIl1uv/12ZGdnY9q0adi2bRsqKyuxZcsWzJ07F19++WXQ34mJicGECRNQUlLie+3999/HsmXL8MEHH+DIkSN488038c0332DgwIG+92zbtg3XXHONL1WfiIiIOmOAT0RERLqkpKRg69atuOiiizB9+nQMHDgQP/zhD9HU1IS0tLSQv3fPPfdg7dq1vlT/tLQ0bN26FTfccAMuueQSPPbYY/jd736H7373u77fKSoqwuzZs03fJyIiIifzSB3XoCEiIiIymSRJKCgowLx58zBjxgzF92/YsAE/+9nPsH//fsTFsXwQERFRKBzBJyIiIkt5PB689NJLOHfunKr3NzQ04NVXX2VwT0REpIAj+EREREREREQuwBF8IiIiIiIiIhdggE9ERERERETkAgzwiYiIiIiIiFyAAT4RERERERGRCzDAJyIiIiIiInIBBvhERERERERELsAAn4iIiIiIiMgFGOATERERERERuQADfCIiIiIiIiIX+P8990ubFQy8IwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# - Visualise Data\n", "events, label = next(train_dl)\n", "\n", "# Extract values for the first sample from the dataloader\n", "times=events[0,:,0]\n", "events=events[0,:,1]\n", "\n", "# Create a TSEvent object corresponding to the first sample\n", "spikes_ts = TSEvent(\n", " times=times.numpy() * 1e-6,\n", " channels=events.numpy(),\n", " t_stop=(times.max()+1) * 1e-6\n", ")\n", "spikes_ts.plot()\n", "plt.title(f'Encoded SHD Sample #1 (Class={label.item()})')\n", "# plt.xlim((0, 1.1))\n", "plt.ylim((0, 700))\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, a given sample consists of some number of events across 700 channels and some duration of time. 700 channels means a high-dimensional dataset, and so large training times and networks. For low-power applications, it is desirable to use lower dimensional input. Using Tonic, we can transform the input into a better format. We can rasterise the input to facilitate training. Note: the duration of each sample may be different, thus it is useful to pad samples to make them of uniform length. We define the following parameters. Initially, we will use an encoding dimension of 20, i.e., reduce 700 input channels to 20." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "shd_timestep = 1e-6\n", "shd_channels = 700\n", "net_channels = 20\n", "net_dt = 10e-3\n", "sample_T = 100\n", "batch_size = 256\n", "num_workers = 6" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We now create a class to rasterise the input:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "class ToRaster():\n", " def __init__(self, encoding_dim, sample_T = 100):\n", " self.encoding_dim = encoding_dim\n", " self.sample_T = sample_T\n", "\n", " def __call__(self, events):\n", " # tensor has dimensions (time_steps, encoding_dim)\n", " tensor = np.zeros((events[\"t\"].max()+1, self.encoding_dim), dtype=int)\n", " np.add.at(tensor, (events[\"t\"], events[\"x\"]), 1)\n", " return tensor[:self.sample_T,:]" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Now we can define the transforms which we apply to the dataset to prepare it for training:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "transform = transforms.Compose([\n", " transforms.Downsample(\n", " time_factor=shd_timestep / net_dt,\n", " spatial_factor=net_channels / shd_channels\n", " ),\n", " ToRaster(net_channels, sample_T = sample_T),\n", " torch.Tensor,\n", " # transforms.ToFrame(\n", " # sensor_size=(net_channels, 1, 1), time_window=100, include_incomplete=True\n", " # ),\n", " ])" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Reload the dataset with the applied transforms:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# - Use a GPU if available for faster training\n", "dev = \"cuda:0\" if torch.cuda.is_available() else \"cpu\"\n", "device = torch.device(dev) \n", "\n", "dataloader_kwargs = dict(\n", " batch_size=128,\n", " shuffle=True,\n", " drop_last=True,\n", " pin_memory=True,\n", " collate_fn=tonic.collation.PadTensors(batch_first=True),\n", " num_workers=8,\n", ")\n", "\n", "train_data = datasets.SHD(download_dir, train=True, transform=transform)\n", "\n", "# disk_train_dataset = tonic.MemoryCachedDataset(\n", "disk_train_dataset = tonic.DiskCachedDataset(\n", " dataset=train_data,\n", " # transform = torch.Tensor,lambda x: torch.tensor(x).to_sparse(),\n", " cache_path=f\"cache/{train_data.__class__.__name__}/train/{net_channels}/{net_dt}\",\n", " # target_transform=lambda x: torch.tensor(x),\n", " reset_cache = True,\n", " )\n", " # device = device,\n", "# )\n", "\n", "train_dl = DataLoader(disk_train_dataset, **dataloader_kwargs)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "`tonic.collation.PadTensors(batch_first=True)` performs padding to ensure a consistent sample length for each sample across all batches. `ToRaster` above indicates a maximum sample length of 100 points.\n", "\n", "We can now visualise the first sample in its encoded form in the same way as before:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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o7FmzRq8+uqreP/99/HOO+/47afLLrsMPXv2xJIlS/Daa6/h8OHDkCRJM0eSJJ++ra+vFxq9v+uuuwAAeXl5mnGDBg3Cl19+ienTp+PLL7/0Ke7kfvjhB2RnZ+N///d/sWXLFjz22GN4//33MXLkSJ/Yuro63HvvvRg+fDg+/vhjZGVlYebMmZg1axYefPBBTJw4ER999BGuueYaTJgwAV9//bXPazz00EMICgrCu+++i/nz5yM/Px+33norLly4oLlOjzzyCB577DH8z//8D9atW4clS5bgu+++w+DBg/HTTz9p5gJAcnKy594D+/fvxwsvvACLxeL5UiYjI0PzGm4RGzduRHBwMNLT072e/+STT9ClSxcMHDhQ+LX/+9//4oEHHsCqVauwceNGPPTQQ3j11VfxyCOPeGIuXryIoUOH4qeffsLf//53bN26FfPnz0ePHj08X4bt3r0bo0ePxhVXXIE1a9Zg06ZNeO6551BfX++1PKV9WOmfv+Ohudx666344osv/O43RERtgkRERG3KO++8IwFQ/BccHOwVC0Dq0qWLZLPZPM+VlpZKQUFB0rx58zzP3X777VKHDh2ksrIy1eWOGTNGCg8Pl4qLi72ez8rKkqKioqQLFy5IkiRJf/rTnySLxSIdOHDAK27o0KESAOnzzz+XJEmSLl68KMXFxUkjR470inM4HFKfPn2ktLQ0z3MDBgyQunbtKlVXV3ues9lsUlxcnKTnrTA/P1/q0aOHp5+io6OlESNGSCtXrpScTqdXrFrfyv+510GSJGn27NkSAOnMmTOKy66urpYASFlZWZptPHv2rHTLLbd4lhEaGioNHjxYmjdvnlRRUaGa53Q6pbq6Oik3N1cCIH3zzTeevz344IMSAGnt2rWe5+rq6qTOnTtLAKR9+/Z5nj937pwUHBwsPfHEE57n3PvaqFGjvJb5xRdfSACkF154wWtZSUlJnse7d++WAEh/+9vfvHJ//PFHKTIyUvrjH/+o2R+SJEnfffedtH//fumVV16RwsLCpL1790r79++X7rnnHunmm2+W9u/fL+3fv186ceKEYv7evXslANI777zjd1luWVlZ0rXXXuvzfEREhDRw4EDdr9OwPxpyOBxSXV2dtHLlSik4OFiyWq2SJEnSV199JQGQ1q1bp5r717/+VQLgOebU6NmX/fVPu3btpAcffFBzOZIkSf/+9799jo2Gtm7dKgGQNm/e7Pf1iIhaO14jT0TURq1cuRLXXXed13NKd3C/7bbbEB0d7XncpUsXxMfH48SJEwCAqqoq5Obm4qGHHkLnzp1Vl7dt2zbccccduPzyy72enzBhAjZv3ozdu3cjMzMTn3/+Oa6//nr06dPHK+6BBx7A1q1bPY937doFq9WKBx980GckMTMzE6+88ornp+J79+7FlClTEBER4YmJjo7GyJEjFX/a31D//v1x7NgxbNu2DXl5efjqq6/w2WefYePGjXj//fexfv16r767//778eSTTyr2wZ/+9Ce/y5OTdI52durUCTt27PC07auvvsL27dsxc+ZMvPnmm9i7d6/nGvzjx4/jmWeewbZt21BWVua1jO+//x69e/f2PLZYLF43fQsJCUHPnj0REhKCvn37ep6Pi4vz2i/k/t//+39ejwcPHoykpCR8/vnnePrppxXXZ+PGjbBYLBg7dqzX9k1ISECfPn10zV6QmpoKAPjHP/6B/v37e+4JcfToUdx///248cYb/b5GY50+fRrx8fHN/rqA6yfzs2fPxhdffAGr1er1t6NHj2LAgAHo2bMnOnbsiD/96U8oKSlBenq6px/c+vfvD8C1nz700EO4+eabva7nd9u7d6+udqWkpAiuUeO4+1V+d38ioraKhTwRURt13XXX6brZXadOnXyeCw8PR3V1NQDX1FAOhwPdu3fXfJ1z584pXmfetWtXz9/d/1UqDBISErweu39a/ctf/lJ1mVarFRaLBU6n0ydf6TW1hIaGYtiwYRg2bJinnb/85S+xceNGbN682avY7dy5s2LfFhUV6V6em7swdveTP7/4xS88y66rq8Of/vQnvP7663jllVfwyiuvoLKyEkOGDEFERAReeOEFXH311YiKisKPP/6Ie++917Nd3aKiory+AAGAsLAwxMXF+Sw7LCwMdrvd53m1vndvcyU//fQTJElCly5dFP9+xRVXqOYCrktH3F9Q5Obm4s4770R9fT2sViu+//573Hzzzaivr4fFYkFwcLDmazVGdXW1Ypt79OiBwsJC4dctLi7GkCFDcM0112DBggVITk5GREQE8vPz8bvf/c6z3WJjY5Gbm4sXX3wRs2bNwvnz55GYmIhJkybhmWeeQWhoKNLT07Fu3TosXLjQcx+L66+/Hk8//TR+/etfe5ap94uO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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "events, label = disk_train_dataset[0]\n", "# events = events.to_dense().cpu().numpy()\n", "\n", "spikes_ts = TSEvent.from_raster(events.squeeze(), dt = net_dt, name = f'Encoded SHD Sample #1 (Class={label.item()})')\n", "spikes_ts.plot()\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Now that our data is in the correct format, we can define our network. To begin, we use a simple network consisting of a linear layer, a leaky integrate-and-fire layer, another linear layer, and an exponential synapse output layer:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from rockpool.nn.modules import LIFTorch, LinearTorch, ExpSynTorch, LIFExodus\n", "from rockpool.nn.combinators import Sequential\n", "from rockpool.parameters import Constant\n", "\n", "# - Select a neuron model to use\n", "from rockpool.utilities.backend_management import backend_available\n", "NeuronModel = LIFExodus if backend_available('sinabs-exodus') and torch.cuda.is_available() else LIFTorch\n", "\n", "# - Network Definition\n", "def SimpleNet(Nin, Nhidden, Nout):\n", " return Sequential(\n", " LinearTorch((Nin, Nhidden), has_bias=False),\n", " NeuronModel(Nhidden,\n", " tau_mem=Constant(100e-3),\n", " tau_syn=Constant(100e-3),\n", " threshold=Constant(1.),\n", " bias=Constant(0.),\n", " dt=net_dt,\n", " has_rec=False),\n", " LinearTorch((Nhidden, Nout), has_bias = False),\n", " ExpSynTorch(Nout, dt=net_dt, tau=Constant(5e-3))\n", " )" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Note, we use the `Constant` functionality here as, by default, all parameters in Rockpool are trainable. Keeping everything except the weights constant ensures fast training for the example. We can now define our network shape:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/dylan/mina_hdd/miniconda3/envs/py38/lib/python3.8/site-packages/torch/cuda/__init__.py:497: UserWarning: Can't initialize NVML\n", " warnings.warn(\"Can't initialize NVML\")\n" ] }, { "data": { "text/html": [ "
TorchSequential  with shape (20, 20) {\n",
                            "    LinearTorch '0_LinearTorch' with shape (20, 20)\n",
                            "    LIFTorch '1_LIFTorch' with shape (20, 20)\n",
                            "    LinearTorch '2_LinearTorch' with shape (20, 20)\n",
                            "    ExpSynTorch '3_ExpSynTorch' with shape (20,)\n",
                            "}\n",
                            "
\n" ], "text/plain": [ "TorchSequential with shape \u001b[1m(\u001b[0m\u001b[1;36m20\u001b[0m, \u001b[1;36m20\u001b[0m\u001b[1m)\u001b[0m \u001b[1m{\u001b[0m\n", " LinearTorch \u001b[32m'0_LinearTorch'\u001b[0m with shape \u001b[1m(\u001b[0m\u001b[1;36m20\u001b[0m, \u001b[1;36m20\u001b[0m\u001b[1m)\u001b[0m\n", " LIFTorch \u001b[32m'1_LIFTorch'\u001b[0m with shape \u001b[1m(\u001b[0m\u001b[1;36m20\u001b[0m, \u001b[1;36m20\u001b[0m\u001b[1m)\u001b[0m\n", " LinearTorch \u001b[32m'2_LinearTorch'\u001b[0m with shape \u001b[1m(\u001b[0m\u001b[1;36m20\u001b[0m, \u001b[1;36m20\u001b[0m\u001b[1m)\u001b[0m\n", " ExpSynTorch \u001b[32m'3_ExpSynTorch'\u001b[0m with shape \u001b[1m(\u001b[0m\u001b[1;36m20\u001b[0m,\u001b[1m)\u001b[0m\n", "\u001b[1m}\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# - Build a network\n", "Nin = net_channels\n", "Nhidden = 20\n", "Nout = 20\n", "\n", "torch.manual_seed(1234) # A manual seed ensures repeatability\n", "\n", "net = SimpleNet(Nin, Nhidden, Nout).to(dev)\n", "print(net)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We can test the network output makes sense here. Setting `record=True` as an argument in the network allows you to save the record dictionary of the network at each layer. Let's pass the first sample to the network and see what happens:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "events, labels = next(iter(train_dl)) # Get a batch from the train dataloader\n", "events = events.to_dense().to(device)\n", "sample = events[0,:,:] # Get the first sample from the first batch\n", "\n", "output, state, rec = net(sample, record=True) # Pass the first sample through the network" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Here, we see the network returns three things: the network output, the current network state, and the record dictionary. The output is a 3D Tensor of shape: `[batch_size*[times*[channels]]]`. It may help to visualise this as a Tensor of size `batch_size` (256 here) which contains another tensor whose size is equal to the number of time steps (100 in this case). This tensor contains 100 1x20 tensors, with each element corresponding to the number of neurons in the ExpSynTorch layer. You may have seen us index tensors already in this tutorial, e.g., in the `sample = events[0,:,:]` line above. Tensor indexing here works as follows: `tensor_name[batch_item, timestep, channel]`. For example, to access the fifth neuron at the second timestep in the eighth sample in the batch, one should type `sample = events[8,1,5]`. To select all channels, timesteps, or batch items, use `:`, e.g., to access all channels and timesteps in the first sample, type `sample = events[0,:,:]`. \n", "\n", "The network state gives us the output of each layer in the network for a given input. The record dictionary stores all states for a given batch. To improve training time and reduce memory overheads, you may wish to skip the `record=True` argument, however it can be invaluable for debugging if the network doesn't behave as expected. For example, if the network does not appear to give any output, one can use the record dictionary to determine whether a specific layer is at fault. \n", "\n", "Now that we understand what our network outputs, we can define our training process. As SHD is a classification task, we use [CrossEntropyLoss](https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html?highlight=crossentropyloss#torch.nn.CrossEntropyLoss) as our loss function. We use Adam as our optimiser." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from torch.optim import Adam\n", "from torch.nn import CrossEntropyLoss\n", "\n", "# - Get the optimiser functions\n", "optimizer = Adam(net.parameters().astorch(), lr=1e-3)\n", "\n", "# - Loss function\n", "loss_fun = CrossEntropyLoss()\n", "\n", "# - Record the loss values over training iterations\n", "accuracy = []\n", "loss_t = []\n", "num_epochs = 500" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We are now ready to build our training loop:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7ea28b64ba574a8d93f4412a2e9f9d5f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Training: 0%| | 0/500 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# - Plot the Training Loss\n", "fig, ax = plt.subplots()\n", "ax.plot(loss_t, color='blue')\n", "ax.set_ylabel('CrossEntropy loss', color='blue')\n", "ax.set_yscale('log')\n", "ax.set_xlabel('Epochs')\n", "\n", "ax2 = ax.twinx()\n", "ax2.plot(accuracy, color='orange')\n", "ax2.plot(ax2.get_xlim(), [100/20, 100/20], '--', color='orange')\n", "ax2.set_ylabel('Accuracy (%)', color='orange')\n", "ax2.set_yscale('linear')\n", "\n", "plt.title('Rockpool SHD training loss and accuracy')\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "As the plot shows, our network successfully trains on the data! Feel free to experiment with different values for the learning rate, number of epochs and network parameters to see how the different parameters affect the network performance. Here we train for a limited number of epochs, but generally several hundred are required for convergence. You can re-run the cell above to train for longer periods.\n", "\n", "The best values for the parameters will depend on the dataset. For example, here if `tau_mem` or `tau_syn` are too small (below about 0.02 for `threshold = 1.`), then the LIF layer will not fire and the network will not train. Depending on your application, it may be necessary to trial different values. As we note above, looking at the record dictionary can be very useful in figuring out what's happening under the hood.\n", "\n", "It's worthwhile here to discuss the nature of the training loop. For a given sample or batch of samples that the network takes as input the network output is as described above, i.e., a tensor with the ExpSyn layer outputs for each batch and at each timestep. We want to integrate the output for each neuron over time, i.e., the synaptic current, `isyn` and pass this to the CrossEntropyLoss function. We do perform this integration by taking the cumulative sum of the synaptic currents for each channel using `sum = torch.cumsum(output, dim=1)`. The loss function expects a Tensor of size [batch_size*[channels]] and so we need to take the value for the last timestep, which we do by indexing `sum[:,-1,:]`. As we note above, the SHD dataset has 20 possible output classes. Our network's 20 output neurons correspond to a class, and so our prediction is the specific neuron with the largest synaptic current. We can easily find this by taking the argmax of the output neurons at the last timestep. This allows us to calculate the accuracy as above.\n", "\n", "Let's see how the network fares on data it hasn't seen before. First we load the test data and transform it in the same way as for the training data:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "test_data = datasets.SHD(download_dir, train=False, transform=transform)\n", "\n", "test_dl = DataLoader(test_data, num_workers=num_workers, batch_size=batch_size, \n", " collate_fn=tonic.collation.PadTensors(batch_first=True), drop_last=True, shuffle=False)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We can now build our test loop to see how the network performs on the validation set:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Test Accuracy: 66.748%\n",
                            "
\n" ], "text/plain": [ "Test Accuracy: \u001b[1;36m66.748\u001b[0m%\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# - Test loop:\n", "net.eval()\n", "with torch.no_grad():\n", " correct = 0\n", " total = 0\n", " total_loss = 0\n", "\n", " for events, labels in test_dl:\n", " events, labels = events.to(dev), labels.to(dev)\n", " output, _, _ = net(torch.Tensor(events).float())\n", "\n", " sum = torch.cumsum(output, dim=1)\n", " \n", " predicted = torch.argmax(sum[:,-1,:], 1)\n", " total += labels.size(0)\n", " correct += (predicted == labels).sum().item()\n", " \n", " accuracy_test = (correct/total)*100\n", "\n", "print(f\"Test Accuracy: {accuracy_test:.3f}%\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "As we see, the network doesn't perform as well on the test data, but by playing around with the different parameters, as well as introducing techniques such as Dropout or regularisation, one should be able to obtain good performance. The authors provide a [leaderboard](https://zenkelab.org/resources/spiking-heidelberg-datasets-shd/) for the best-performing networks, which, at the time of writing, has 48.1% in 6th place, and 91.1% in first place." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.8.13 ('py38')", "language": "python", "name": "python3" }, "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.13" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "cb88bc135d05a2341e3cb126d78f83330a5c316ea17e1399798ae369290a3c17" } } }, "nbformat": 4, "nbformat_minor": 2 }