# spikingtorch

Training spiking neural networks using Pytorch


## About

`spikingtorch` is a lightweight module for training deep
spiking neural networks using Pytorch. `spikingtorch` includes
encoders that transform standard ML datasets into spike trains,
and decoders that transform the output spikes into values that
can be used with loss functions in Pytorch.


## Status

Spikingtorch is still in development.


## Quick install

Through pypi:

```
pip install spikingtorch
```

## Acknowledgements

* Argonne National Laboratory's Laboratory Directed Research and Development
  program.
* Threadwork, U.S. Department of Energy Office of Science, 
  Microelectronics Program.

## Publications

[A. Yanguas-Gil, Coarse scale representation of spiking neural networks:
backpropagation through spikes and application to neuromorphic
hardware, arXiv:2007.06176](https://arxiv.org/abs/2007.06176)


## Copyright and license

Copyright © 2020-2022, UChicago Argonne, LLC

Spikelearn is distributed under the terms of BSD License. See 
[LICENSE](https://github.com/spikingnn/spikingtorch/blob/master/LICENSE.md)




