Akida models for DVS Gesture, from "From ANN to Akida: Converting a Frame CNN with CNN2SNN"
https://fauzisho.github.io/notes/Spiking-Neural-Networks/ann-to-akida

akida2_{8bit,4bit}_seed{0,1,2}.fbz        Akida 2.0, 8- or 4-bit activations
akida1_{4bit,2bit,1bit}_seed{0,1,2}.fbz   Akida 1.0 (AKD1000), 4-, 2- or 1-bit activations, ReLU capped at 6

Input: one 60 ms frame, uint8 array of shape (N, 32, 32, 3). Events of the 128 x 128 sensor are binned
into 60 ms frames at 32 x 32 (x // 4, y // 4); channels are ON counts, OFF counts and ON + OFF, capped at 255.
Output: 11 scores per frame. A recording is classified by averaging the scores of its 30 frames
(bins 10-39, 0.6 s to 2.4 s) and taking the argmax.
Classes: 0 hand clap, 1 right hand wave, 2 left hand wave, 3 right arm cw, 4 right arm ccw, 5 left arm cw,
6 left arm ccw, 7 arm roll, 8 air drums, 9 air guitar, 10 other.

Usage (pip install akida==2.19.3, Python 3.10-3.12, Linux or Windows):
    import akida
    model = akida.Model("akida1_1bit_seed0.fbz")
    model.summary()
    scores = model.predict(frames)            # frames: (30, 32, 32, 3) uint8, one recording
    gesture = scores.reshape(30, 11).mean(0).argmax()
    model.map(akida.AKD1000(), hw_only=True)  # Akida 1.0 models map onto the AKD1000

Code: https://github.com/fauzisho/notes/tree/v4/scripts/snn/akida
