Skip to content

Commit

Permalink
Put gpu-specific installs in pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
ninamiolane committed Apr 6, 2024
1 parent 2be56fc commit 8ecf4dc
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 116 deletions.
16 changes: 12 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<img width="1188" alt="Screen Shot 2024-04-05 at 8 50 36 PM" src="https://github.com/geometric-intelligence/neurometry/assets/8267869/f24ddbf2-78ce-4896-9417-ed966316af2e">

**Neurometry** is a computational framework to quantify geometric intelligence in natural and artificial brains. Neurometry provides functionalities to analyze the geometric structures underlying computation in neural systems - neural representations and neural manifolds.
**Neurometry** is a computational framework to quantify geometric intelligence in natural and artificial brains. Neurometry provides functionalities to analyze the geometric structures underlying computation in neural systems - neural representations and neural manifolds.

This repository contains the official PyTorch implementation of the papers:
- **Quantifying Extrinsic Curvature in Neural Manifolds**. CVPR Workshop on Topology, Algebra and Geometry 2023.
Expand All @@ -9,13 +9,13 @@ This repository contains the official PyTorch implementation of the papers:
[Francisco Acosta](https://web.physics.ucsb.edu/~facosta/), [Colin Conwell](https://colinconwell.github.io/), [Sophia Sanborn](https://www.sophiasanborn.com/), [David Klindt](https://david-klindt.github.io/) and [Nina Miolane](https://www.ninamiolane.com/).


The neural manifold hypothesis postulates that the activity of a neural population forms a low-dimensional manifold within the larger neural state space, whose structure reflects the structure of the encoded task variables. Many dimensionality reduction techniques have been used to study the structure of neural manifolds, but these methods do not provide an explicit parameterization of the manifold, and may not capture the global structure of topologically nontrivial manifolds. Topological data analysis methods can reveal the shared topological structure between neural manifolds and the task variables they represent, but may not to capture much of the geometric information including distance, angles, and curvature.
The neural manifold hypothesis postulates that the activity of a neural population forms a low-dimensional manifold within the larger neural state space, whose structure reflects the structure of the encoded task variables. Many dimensionality reduction techniques have been used to study the structure of neural manifolds, but these methods do not provide an explicit parameterization of the manifold, and may not capture the global structure of topologically nontrivial manifolds. Topological data analysis methods can reveal the shared topological structure between neural manifolds and the task variables they represent, but may not to capture much of the geometric information including distance, angles, and curvature.

![Overview of method to extract geometric features from neural activation manifolds. ](/method_overview.png)

We introduce a novel approach (see figure above) for studying the geometry of neural manifolds. This approach:
- computes an explicit parameterization of the manifolds, and
- estimates their local extrinsic curvature.
- estimates their local extrinsic curvature.

We hope to open new avenues of inquiry exploring geometric neural correlates of perception and behavior, and provide a new means to compare representations in biological and artificial neural systems.

Expand All @@ -26,8 +26,16 @@ We hope to open new avenues of inquiry exploring geometric neural correlates of
We recommend using Anaconda for easy installation and use of the method. To create the necessary conda environment, run:

```
conda env create -f environment.yml
conda create -n neurometry python=3.11.3 -y
conda activate neurometry
pip install -e '.[all]'
```

If cuda is available, run instead:
```
conda create -n neurometry python=3.11.3 -y
conda activate neurometry
pip install -e '.[all,gpu]'
```

## 🌎 Bibtex ##
Expand Down
57 changes: 0 additions & 57 deletions environment.yml

This file was deleted.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ test = [
"pandas-stubs",
"types-requests"
]
gpu = ["cupy-cuda11x"]

dev = ["neurometry[test, lint]"]
all = ["neurometry[doc, dev]",]
Expand Down
55 changes: 0 additions & 55 deletions setup_environment.py

This file was deleted.

0 comments on commit 8ecf4dc

Please sign in to comment.