Skip to content

neuromorphs/grill-srnn-pfc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grill-srnn-pfc

A spiking recurrent neural network model to perform a stimulus match / non-match discrimination task 1, 2. We use Nengo to build and parameterize our model. Additionally, the model is constrained in various ways to better emulate real neural data recorded from monkey PFC while the monkeys performed this task 3.

Introduction

This project is born out of the Telluride 2020 Neuromorphic Engineering Workshop. Some of the contributors to this project are interested in building invasive brain computer interfaces (iBCIs) that are robust to non-stationarity in neuron-sampling space across sessions and robust to non-relevant stimulus processing of naturalistic stimuli. To build and test decoders with these properties of robustness, it is essential to have a model that can generate realistic neural data. In this project we aim to make such a model.

This work is inspired by the work of Kim, Li & Sejnowski 4, 5 which also models this same task and is evaluated against these same data.

Getting Started

The notebooks folder contains Jupyter notebooks to do different parts of the model building and analysis. Most of these notebooks should be able to run on Google Colab. Just click on the appropriate link in the table in notebooks/README.md.

However, many of us want to work locally, especially as we are developing and testing, so we use the below instructions to setup our development environment.

Python Environment

nengo-bio only works on Linux currently so that is the only platform supported when using Dale's Law.

  • Install miniconda. After miniconda is installed, open a new Terminal or "Anaconda Prompt".
  • conda config --append channels conda-forge
  • Create a new conda environment: conda create -n srnn_pfc python=3.7 --yes
  • Activate the environment: conda activate srnn_pfc (sometimes source activate srnn_pfc on Linux/Mac)
  • Install the dependencies (this list may update frequently):
    • I encountered segfaults when installing OpenCL to the conda env only, so install system OpenCL:
    • All: conda install numpy scipy jupyter matplotlib pandas pyopencl ocl-icd-system --yes
      • ocl-icd-system tells pyopencl to use the system ICD.
    • pip install --upgrade nengo nengo-gui nbdev nni xlrd quantities neo elephant nengo-bio pingouin nengo-ocl
      • nengo-bio only works on Linux currently
  • Activate nengo jupyter extension: jupyter serverextension enable nengo_gui.jupyter
  • Clone this repository: git clone https://github.com/neuromorphs/grill-srnn-pfc.git && cd grill-srnn-pfc
  • Install this repository's python package in-place: pip install -e .
  • Change to the notebooks folder and launch the server: cd notebooks jupyter notebook

There are more instructions in the notebooks README.md

Data

Methods

Model Description

Constraints

Evaluating the Model

Footnotes and references

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published