{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bootstrap SNN Training\n",
"\n",
"The underlying principle for ANN-SNN conversion is that the ReLU activation function (or similar form) approximates the firing rate of an LIF spiking neuron. Consequently, an ANN trained with ReLU activation can be mapped to an equivalent SNN with proper scaling of weights and thresholds. However, as the number of time-steps reduces, the alignment between ReLU activation and LIF spiking rate falls apart mainly due to the following two reasons (especially, for discrete-in-time models like Loihi’s CUBA LIF):\n",
"\n",
"* With less time steps, the SNN can assume only a few discrete firing rates.\n",
"* Limited time steps mean that the spiking neuron activity rate often saturates to maximum allowable firing rate.\n",
"\n",
"Introducing __Bootstrap training__. An SNN is used to jumpstart an equivalent ANN model which is then used to accelerate SNN training. There is no restriction on the type of spiking neuron or it's reset behavior. It consists of following steps:\n",
"![](fit.png)\n",
"\n",
"* Input output data points are first collected from the network running as an SNN: __SAMPLING mode__. \n",
"* The data is used to estimate the corresponding ANN activation as a piecewise linear layer, unique to each layer: __FIT mode__.\n",
"* The training is accelerated using the piecewise linear ANN activation: __ANN mode__.\n",
"* The network is seamlessly translated to an SNN: __SNN mode__.\n",
"* _SAMPLING mode_ and _FIT mode_ are repeated for a few iterations every couple of epochs, thus maintaining an accurate ANN estimate.\n",
"\n",
"\n",
"
\n",
"
\n",
"
\n",
"
\n",
"\n",
"Bootstrap training is available as __`lava.lib.dl.bootstrap`__. The main modules are \n",
"\n",
"* `block`: provides `lava.lib.dl.slayer.block` based network definition interface.\n",
"* `ann_sampler`: provides utilities for sampling SNN data points and pievewise linear ANN fit.\n",
"* `routine`: `routine.Scheduler` provides scheduling utility to seamlessly switch between SAMPLING | FIT | ANN | SNN mode.\n",
" * It also provides ANN-SNN bootstrap hybrid traiing utility as well (Not demonstrated in this tutorial).\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n",
"\n",
"## MNIST Classification\n",
"\n",
"Here, we will demonstrate botstrap SNN training on the well known MNIST classification problem.\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os, sys\n",
"import h5py\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from PIL import Image\n",
"import torch\n",
"import torch.nn.functional as F\n",
"from torch.utils.data import Dataset, DataLoader\n",
"from torchvision import datasets, transforms\n",
"\n",
"# import slayer from lava-dl\n",
"import lava.lib.dl.slayer as slayer\n",
"import lava.lib.dl.bootstrap as bootstrap\n",
"\n",
"import IPython.display as display\n",
"from matplotlib import animation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Create Network\n",
"\n",
"The network definition follows standard PyTorch way using `torch.nn.Module`.\n",
"\n",
"`lava.lib.dl.bootstrap` provides __block interface__ similar to `lava.lib.dl.slayer.block` - which bundles all these individual components into a single unit. These blocks can be cascaded to build a network easily. The block interface provides additional utilities for normalization (weight and neuron), dropout, gradient monitoring and network export."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"class Network(torch.nn.Module):\n",
" def __init__(self, time_steps=16):\n",
" super(Network, self).__init__()\n",
" self.time_steps = time_steps\n",
"\n",
" neuron_params = {\n",
" 'threshold' : 1.25,\n",
" 'current_decay' : 1, # this must be 1 to use batchnorm\n",
" 'voltage_decay' : 0.03,\n",
" 'tau_grad' : 1,\n",
" 'scale_grad' : 1,\n",
" }\n",
" neuron_params_norm = {\n",
" **neuron_params, \n",
" # 'norm' : slayer.neuron.norm.MeanOnlyBatchNorm,\n",
" }\n",
" \n",
" self.blocks = torch.nn.ModuleList([\n",
" bootstrap.block.cuba.Input(neuron_params, weight=1, bias=0), # enable affine transform at input\n",
" bootstrap.block.cuba.Dense(neuron_params_norm, 28*28, 512, weight_norm=True, weight_scale=2),\n",
" bootstrap.block.cuba.Dense(neuron_params_norm, 512, 512, weight_norm=True, weight_scale=2),\n",
" bootstrap.block.cuba.Affine(neuron_params, 512, 10, weight_norm=True, weight_scale=2),\n",
" ])\n",
"\n",
" def forward(self, x, mode):\n",
" N, C, H, W = x.shape\n",
" if mode.base_mode == bootstrap.Mode.ANN:\n",
" x = x.reshape([N, C, H, W, 1])\n",
" else:\n",
" x = slayer.utils.time.replicate(x, self.time_steps)\n",
"\n",
" x = x.reshape(N, -1, x.shape[-1])\n",
"\n",
" for block, m in zip(self.blocks, mode):\n",
" x = block(x, mode=m)\n",
"\n",
" return x\n",
"\n",
" def export_hdf5(self, filename):\n",
" # network export to hdf5 format\n",
" h = h5py.File(filename, 'w')\n",
" simulation = h.create_group('simulation')\n",
" simulation['Ts'] = 1\n",
" simulation['tSample'] = self.time_steps \n",
" layer = h.create_group('layer')\n",
" for i, b in enumerate(self.blocks):\n",
" b.export_hdf5(layer.create_group(f'{i}'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Instantiate Network, Optimizer, DataSet and DataLoader\n",
"\n",
"Here we will use standard _torchvision datasets_ to load MNIST data."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"trained_folder = 'Trained'\n",
"os.makedirs(trained_folder, exist_ok=True)\n",
"\n",
"# device = torch.device('cpu')\n",
"device = torch.device('cuda') \n",
"\n",
"net = Network().to(device)\n",
"\n",
"optimizer = torch.optim.Adam(net.parameters(), lr=0.001)\n",
"\n",
"# Dataset and dataLoader instances.\n",
"training_set = datasets.MNIST(\n",
" root='data/',\n",
" train=True,\n",
" transform=transforms.Compose([\n",
" transforms.RandomAffine(\n",
" degrees=10, \n",
" translate=(0.05, 0.05),\n",
" scale=(0.95, 1.05),\n",
" shear=5,\n",
" ),\n",
" transforms.ToTensor(),\n",
" transforms.Normalize((0.5), (0.5)),\n",
" ]),\n",
" download=True,\n",
" )\n",
"\n",
"testing_set = datasets.MNIST(\n",
" root='data/',\n",
" train=False,\n",
" transform=transforms.Compose([\n",
" transforms.ToTensor(),\n",
" transforms.Normalize((0.5), (0.5)),\n",
" ]),\n",
" )\n",
"\n",
"train_loader = DataLoader(dataset=training_set, batch_size=32, shuffle=True)\n",
"test_loader = DataLoader(dataset=testing_set , batch_size=32, shuffle=True)\n",
"\n",
"stats = slayer.utils.LearningStats()\n",
"scheduler = bootstrap.routine.Scheduler()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Training Loop\n",
"\n",
"Training loop follows standard PyTorch training structure. `bootstrap.routine.Scheduler` helps simplify the complex routine of periodically switching between different bootstrap modes during training. `scheduler.mode(epoch, i, net.training)` provides an iterator which orchestrates the mode of different blocks/layers."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" \n",
"Mode: SNN\n",
"[Epoch 0/100]\n",
"SNN Testing: loss = 0.18656 accuracy = 0.96080\n",
" \n",
"Mode: SNN\n",
"[Epoch 10/100]\n",
"SNN Testing: loss = 0.06348 (min = 0.18656) accuracy = 0.98460 (max = 0.96080)\n",
" \n",
"Mode: SNN\n",
"[Epoch 20/100]\n",
"SNN Testing: loss = 0.04227 (min = 0.06348) accuracy = 0.98950 (max = 0.98460)\n",
" \n",
"Mode: SNN\n",
"[Epoch 30/100]\n",
"SNN Testing: loss = 0.03778 (min = 0.04227) accuracy = 0.98870 (max = 0.98950)\n",
" \n",
"Mode: SNN\n",
"[Epoch 40/100]\n",
"SNN Testing: loss = 0.03424 (min = 0.03778) accuracy = 0.98860 (max = 0.98950)\n",
" \n",
"Mode: SNN\n",
"[Epoch 50/100]\n",
"SNN Testing: loss = 0.04215 (min = 0.03424) accuracy = 0.98500 (max = 0.98950)\n",
" \n",
"Mode: SNN\n",
"[Epoch 60/100]\n",
"SNN Testing: loss = 0.02876 (min = 0.03424) accuracy = 0.99220 (max = 0.98950)\n",
" \n",
"Mode: SNN\n",
"[Epoch 70/100]\n",
"SNN Testing: loss = 0.02592 (min = 0.02876) accuracy = 0.99190 (max = 0.99220)\n",
" \n",
"Mode: SNN\n",
"[Epoch 80/100]\n",
"SNN Testing: loss = 0.02771 (min = 0.02592) accuracy = 0.99090 (max = 0.99220)\n",
" \n",
"Mode: SNN\n",
"[Epoch 90/100]\n",
"SNN Testing: loss = 0.02705 (min = 0.02592) accuracy = 0.99150 (max = 0.99220)\n",
"[Epoch 99/100] Train loss = 0.01632 (min = 0.01561) accuracy = 0.99425 (max = 0.99480) | Test loss = 0.02458 (min = 0.02152) accuracy = 0.99150 (max = 0.99280)"
]
}
],
"source": [
"epochs = 100\n",
"for epoch in range(epochs):\n",
" for i, (input, label) in enumerate(train_loader, 0):\n",
" net.train()\n",
" mode = scheduler.mode(epoch, i, net.training)\n",
"\n",
" input = input.to(device)\n",
" output = net.forward(input, mode)\n",
" rate = torch.mean(output, dim=-1).reshape((input.shape[0], -1))\n",
"\n",
" loss = F.cross_entropy(rate, label.to(device))\n",
" prediction = rate.data.max(1, keepdim=True)[1].cpu().flatten()\n",
"\n",
" stats.training.num_samples += len(label)\n",
" stats.training.loss_sum += loss.cpu().data.item() * input.shape[0]\n",
" stats.training.correct_samples += torch.sum( prediction == label ).data.item()\n",
"\n",
" optimizer.zero_grad()\n",
" loss.backward()\n",
" optimizer.step()\n",
" print(f'\\r[Epoch {epoch:2d}/{epochs}] {stats}', end='')\n",
"\n",
" for i, (input, label) in enumerate(test_loader, 0):\n",
" net.eval()\n",
" mode = scheduler.mode(epoch, i, net.training)\n",
"\n",
" with torch.no_grad():\n",
" input = input.to(device)\n",
" output = net.forward(input, mode=scheduler.mode(epoch, i, net.training))\n",
" rate = torch.mean(output, dim=-1).reshape((input.shape[0], -1))\n",
"\n",
" loss = F.cross_entropy(rate, label.to(device))\n",
" prediction = rate.data.max(1, keepdim=True)[1].cpu().flatten()\n",
"\n",
" stats.testing.num_samples += len(label)\n",
" stats.testing.loss_sum += loss.cpu().data.item() * input.shape[0]\n",
" stats.testing.correct_samples += torch.sum( prediction == label ).data.item()\n",
"\n",
" print(f'\\r[Epoch {epoch:2d}/{epochs}] {stats}', end='')\n",
"\n",
" if mode.base_mode == bootstrap.routine.Mode.SNN:\n",
" scheduler.sync_snn_stat(stats.testing)\n",
" print('\\r', ' '*len(f'\\r[Epoch {epoch:2d}/{epochs}] {stats}'))\n",
" print(mode)\n",
" print(f'[Epoch {epoch:2d}/{epochs}]\\nSNN Testing: {scheduler.snn_stat}')\n",
"\n",
" if scheduler.snn_stat.best_accuracy:\n",
" torch.save(net.state_dict(), trained_folder + '/network.pt')\n",
" scheduler.update_snn_stat()\n",
" \n",
" stats.update()\n",
" stats.save(trained_folder + '/')"
]
},
{
"cell_type": "markdown",
"metadata": {
"tags": []
},
"source": [
"# Plot the learning curves\n",
"\n",
"Plotting the learning curves is as easy as calling `stats.plot()`."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"