Tonic is a tool to facilitate the download, manipulation and loading of event-based/spike-based data. It's like PyTorch Vision but for neuromorphic data!
🚀 Stable version 1 out now! Check out the release notes here.
You can find the full documentation on Tonic on this site.
- Never worked with events? Start here.
- A first example to get a feeling for how Tonic works.
- Run tutorials in your browser quick and easy.
- List of datasets.
- List of transformations.
- About this project.
- Release notes on version changes.
pip install tonic
If you prefer conda, please check out the conda forge repository.
If you're looking for a minimal example to run, this is it!
import tonic
import tonic.transforms as transforms
sensor_size = tonic.datasets.NMNIST.sensor_size
transform = transforms.Compose([transforms.Denoise(filter_time=10000),
transforms.ToFrame(sensor_size=sensor_size, n_time_bins=3),])
testset = tonic.datasets.NMNIST(save_to='./data',
train=False,
transform=transform)
from torch.utils.data import DataLoader
testloader = DataLoader(testset, shuffle=True)
events, target = next(iter(testloader))
Have a question about how something works? Ideas for improvement? Feature request? Please get in touch here on GitHub via the Discussions page!
Please check out the contributions page for details.
If you find this package helpful, please consider citing it:
@software{lenz_gregor_2021_5079802,
author = {Lenz, Gregor and
Chaney, Kenneth and
Shrestha, Sumit Bam and
Oubari, Omar and
Picaud, Serge and
Zarrella, Guido},
title = {Tonic: event-based datasets and transformations.},
month = jul,
year = 2021,
note = {{Documentation available under
https://tonic.readthedocs.io}},
publisher = {Zenodo},
version = {0.4.0},
doi = {10.5281/zenodo.5079802},
url = {https://doi.org/10.5281/zenodo.5079802}
}