https://github.com/brody-lab/findr
FINDR: Flow-field Inference from Neural Data using deep Recurrent networks
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
Repository
FINDR: Flow-field Inference from Neural Data using deep Recurrent networks
Basic Info
Statistics
- Stars: 3
- Watchers: 8
- Forks: 1
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
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
- Repositories: 12
- Profile: https://github.com/Brody-Lab
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
- 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