Workgroup Project at CapoCaccia 2019
TransferRNN framework implements an RNN running on Dynapse chip using CortexControl Python API
-
Download the nightly build of CortexControl from http://ai-ctx.gitlab.io/ctxctl/primer.html#downloads
-
Clone TransferRNN inside the main CortexControl folder
clone https://github.com/he-xu/TransferRNN.git
- Prepare the
x_projection_train.pkl
andstate_train.pkl
files (by default the script will look for them inTranserRNN/data/
)
The framework can run in two modes:
- ctxctl : inside CortexControl (faster but trickier to setup)
- rpyc : in a remote python console using RPyC connection (more stable but slower because of data transfering between python threads)
- Start Cortexcontrol:
./cortexcontrol
- In the CortexControl console run
import TransferRNN.run_rnn_in_ctxctl
Note: Most likely, you will get an error while importing numpy. To fix that, you will have to make sure you have numpy
version 1.15.4
(with pip install numpy=1.15.4
) in your installation of python and then append the path to site-packages
of this python installation inside the TransferRNN/run_rnn_in_ctxctl.py
script on line 12.
-
Install
RPyC
withpip install rpyc
-
Start CortexControl:
./cortexcontrol
-
In the CortexControl console run
PyCtxUtils; PyCtxUtils.start_rpyc_server()
-
Run
run_rnn_with_rpyc.py
in a python console of your choice (tested in Spyder)
Note: Expect the spike counting phase to be slow. Optimization of this phase is the next framework development step.