https://github.com/brody-lab/findr

FINDR: Flow-field Inference from Neural Data using deep Recurrent networks

https://github.com/brody-lab/findr

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.5%) to scientific vocabulary

Keywords

latent-variable-models neural-differential-equations neuroscience
Last synced: 6 months ago · JSON representation

Repository

FINDR: Flow-field Inference from Neural Data using deep Recurrent networks

Basic Info
  • Host: GitHub
  • Owner: Brody-Lab
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 284 KB
Statistics
  • Stars: 3
  • Watchers: 8
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Topics
latent-variable-models neural-differential-equations neuroscience
Created over 1 year ago · Last pushed 9 months ago
Metadata Files
Readme License

README.md

FINDR

Flow-field inference from neural data using deep recurrent networks

Neurons work together in large groups to solve tasks — like deciding whether to buy a laptop or not based on online reviews. A central premise in neuroscience is that the brain's algorithm for doing such tasks can be succinctly represented as a differential equation describing how this group activity changes over time.

FINDR discovers what this differential equation is, using real brain activity data from animals doing specific tasks. The method does this in two main steps:

1) It separates the brain activity that is relevant to the task from activity that isn't.

2) It learns the most likely differential equation that is consistent with the task-relevant brain activity.

Installation

Run the commands below to install FINDR:

$ git clone https://github.com/Brody-Lab/findr $ module load anaconda/2024.10 $ conda create --name findr python=3.12 $ conda activate findr $ cd findr $ pip install -e .

Data format

The data needs to be stored as an .npz file that contains the following keyword arguments:

spikes: contains a 3-d array (# of trials x maximum trial length x # of neurons) of spike counts for each time bin.

externalinputs: contains a 3-d array (# of trials x maximum trial length x input stimulus dimension) where the input stimulus dimension can be an integer greater than or equal to 1. The stimulus values themselves can be floating point numbers or integers.

lengths: contains a 1-d array (# of trials) of the length of each trial (in the unit of time bins).

times: contains a 1-d array (# of trials) of the timestamp of onset of each trial.

Training FINDR

Run the commands below to run FINDR:

$ module load anaconda/2024.10 $ conda activate findr $ python main.py --datapath=$datafilepath --workdir=$analysispath

Make sure that the $datafilepath correctly specifies the location of the data file to fit (in .npz format). The $analysispath is where the trained FINDR parameters are stored.

It should take a few hours on a single A100 GPU to finish training.

Example analyses

There are example Jupyter notebooks under the notebooks folder. The plot_example_vector_fields.ipynb notebook demonstrates how to plot flow fields (or the velocity vector fields) for an example dataset.

Citation

Kim, T.D., Luo, T.Z., Can, T., Krishnamurthy, K., Pillow, J.W., Brody, C.D. (2025). Flow-field inference from neural data using deep recurrent networks. Proceedings of the 42nd International Conference on Machine Learning (ICML).

bibtex @article{kim2025findr, author={Timothy Doyeon Kim and Thomas Zhihao Luo and Tankut Can and Kamesh Krishnamurthy and Jonathan W. Pillow and Carlos D. Brody}, title={Flow-field inference from neural data using deep recurrent networks}, year={2025}, journal={Proceedings of the 42nd International Conference on Machine Learning (ICML)} }

Owner

  • Name: Brody-Lab
  • Login: Brody-Lab
  • Kind: organization

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 1
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 1
  • Fork event: 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • yuzhenglin (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • absl_py ==1.4.0
  • flax ==0.6.4
  • jax ==0.4.4
  • ml_collections ==0.1.1
  • numpy ==1.23.5
  • optax ==0.1.4
  • scikit_learn ==1.3.2
  • scipy ==1.12.0
setup.py pypi