OpenSpiking is an open-source deep learning framework used to devise and modify a network architecture in a flexible and interesting way.
We provide several jupyter notebooks under ./examples
to demonstrate how to build various network structures.
The most features of OpenSpiking are that: it provides a well defined framework which make your network structure can be upgraded along with the learning of weights.
Any contributions to OpenSpiking is welcome!
Install from PyPI:
pip install eve-mli
# pip install git+https://github.com/densechen/eve-mli.git
Developers can download and install the latest version from:
git clone https://github.com/densechen/eve-mli.git
cd eve-mli
python setup.py install
git clone https://gitee.com/densechen/eve-mli.git
cd eve-mli
python setup.py install
Vailidate installation:
python -c "import eve; print(eve.__version__)"
The core module of eve-mli is eve.core.Eve
, this module is a wrapper of torch.nn.Module
.
In Eve
, the parameter ended with _eve
will be treated as an eve parameters, and we call the rest as torch parameters. In the same way, we also define eve buffers and torch buffers.
As for eve parameters, you can fetch and attach an .obs
properties via eve.core.State
class, and assign an upgrade
function to modify the eve parameter. As for eve buffers, it is useful to cache the hidden states, all the eve buffers will be cleared
once we call Eve.reset()
.
In default, the model defined by Eve
is the same with nn.Module
. You can train it directly for obtaining a baseline model. Then, Eve.spike()
will turn it into a spiking neural network module, and Eve.quantize()
will trun it into a quantization neural network model.
The documentation can be found here.
(Auto-building of documentation fails sometimes, you can build it manually via cd docs; make html
).
The project remains in development. We encourage more volunteers to come together!
eve-mli-v0.1.0 is released!
Add CUDA support for speeding up, refer to here.
Dengsheng Chen Master @ National University of Defense Technology densechen@foxmail.com