spikeycns / spikey Goto Github PK
View Code? Open in Web Editor NEWMalleable spiking neural network framework and training platform.
License: MIT License
Malleable spiking neural network framework and training platform.
License: MIT License
Currently there is no standard variable / class naming scheme for all the examples and usage docstrings. This will cause confusion for people trying to copy pieces of code to use and understand from.
** Only include essential fixes. **
Near every module in the repo uses NECESSARY_KEYS and other similar functionality, currently each module also has its own implementation of the helper functions. Ideally each module should template some spikey defined type that carries this shared functionality. Also data types like the spike_log and inhibitory listings should be normalized across the module.
Add module base to spikey/, all classes template and call super.init.
Module contain NECESSARY_KEYS, and autoloading in init.
Module support extending NECESSARY_KEYS so dont have to deepcopy and update.
Support NECESSARY_KEYS likes across repo.
RL, MetaRL use NECESSARY_KEYS.
Network and game use self.params / self._.. in same ways.
TrainingLoop, MetaRL, RL should use self._...
TrainingLoop use NECESSARY_KEYS.
Have template for meta backends.
Ensure all parts have reset function - input, readouts, modifiers... and use in network.reset.
Make callback not require training_params, should be optional.
MetaRL needs gym.Env compatability.
Implement gym wrapper for MetaRL.
Sphinx will be used to automatically generate an html website containing spikey documentation. Website will be in the github pages repo.
Currently implementing NECESSARY_KEYS(and the like) is done with dictionaries {key: description} which lacks much of the data needed. A new data structure should be created to suit this need. Requires #6.
TrainingLoop Refactor
Input/Neuron Normalization
General Refactoring
Callback Refactor
Keys
Documentation
Remove Repeated Code
Importing
Tutorial
As they are now, the population, series and metarl games could use refactoring for ease of use and generalization.
Currently ContinuousRLNetwork is hardcoded for TDError usage which it should not be.
"""
Short description
Parameters
------------
param: type
Description of variable
...
Returns
---------
type Description of return
Usage
-------
```python
...
\```
"""
If is an ndarray, use ndarray[dim1, dim2](dtype if applicable).
Top of file docstring be copy of most relevant object docstring.
Currently callback and reader handle much the same functionality but need to be used much differently. Ideally it should not matter whether you have access to a callback or a Reader, any viz or analysis should work exactly the same.
Currently, the rate XOR experiments in florian2007.ipynb are far too slow at about 240s / run. This needs to be ~doubled.
Improve speed of STDP implementation.
Parameter Normalization
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.