Gregor Lenz
13. 12. 2022
Dataloading and datasets
SNN training and deployment for vision models
SNN training and deployment for audio models
Accelerated neuron models
rockpool.ai
sinabs.ai
tonic.readthedocs.io/
SynSense Github!
https://lenzgregor.com/posts/train-snns-fast/
EXODUS: Stable and Efficient Training of Spiking Neural Networks
Bauer, Lenz, Haghighatshoar, Sheik, 2022
Supervised training of spiking neural networks for robust deployment on mixed-signal neuromorphic processors
Büchel, Zendrikov, Solinas, Indiveri & Muir, 2021
import torch.nn as nn
import sinabs.layers as sl
model = nn.Sequential(
nn.Conv2d(2, 8, 3),
sl.IAF(),
nn.AvgPool2d(2),
nn.Conv2d(8, 16, 3),
sl.IAF(),
nn.AvgPool2d(2),
nn.Flatten(),
nn.Linear(128, 10),
sl.IAF(),
)
# training...
from sinabs.backend.dynapcnn import DynapcnnNetwork
dynapcnn_net = DynapcnnNetwork(
snn=model,
input_shape=(2, 30, 30)
)
dynapcnn_net.to("speck2b")
# model definition...
from rockpool.transform import quantize_methods as q
from rockpool.devices.xylo import config_from_specification, XyloSim
from rockpool.devices import xylo as x
# map the graph to Xylo HW architecture
spec = x.mapper(model.as_graph(), weight_dtype='float')
# quantize the parameters to Xylo HW constraints
spec.update(q.global_quantize(**spec))
xylo_conf, _, _ = config_from_specification(**spec)
XyloSim_model = XyloSim.from_confiq(xylo_conf)
lenzgregor.com
Gregor Lenz