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.pklandstate_train.pklfiles (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
RPyCwithpip install rpyc -
Start CortexControl:
./cortexcontrol -
In the CortexControl console run
PyCtxUtils; PyCtxUtils.start_rpyc_server() -
Run
run_rnn_with_rpyc.pyin 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.