You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+50-35Lines changed: 50 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,44 +52,58 @@ The main pipeline trains and evaluates a wide range of state-of-the-art TNNs and
52
52
53
53
## :jigsaw: Get Started
54
54
55
-
### Create Environment
55
+
### 🚀 Quick Install (Recommended)
56
56
57
-
First, ensure `conda` is installed:
58
-
```bash
59
-
conda --version
60
-
```
61
-
If not, we recommend intalling Miniconda [following the official command line instructions](https://www.anaconda.com/docs/getting-started/miniconda/install).
57
+
TopoBench now uses [**uv**](https://docs.astral.sh/uv/), an extremely fast Python package manager and resolver. This allows for nearly instantaneous environment setup and reproducible builds.
62
58
63
-
Then, clone and navigate to the `TopoBench` repository
If working with GPUs, check the CUDA version of your machine:
76
-
```bash
77
-
which nvcc && nvcc --version
78
-
```
79
-
and ensure that it matches the CUDA version specified in the `env_setup.sh` file (`CUDA=cpu` by default for a broader compatibility). If it does not match, update `env_setup.sh` accordingly by changing both the `CUDA` and `TORCH` environment variables to compatible values as specified on [this website](https://github.com/pyg-team/pyg-lib).
67
+
3. **Initialize Environment**:
68
+
Use our centralized setup script to handle Python 3.11 virtualization and specialized hardware (CUDA) mapping.
69
+
```bash
70
+
# Usage: source uv_env_setup.sh [cpu|cu118|cu121]
71
+
source uv_env_setup.sh cpu
72
+
```
73
+
*This script performs the following:*
74
+
* Creates a `.venv` using Python 3.11.
75
+
* Dynamically configures `pyproject.toml` to point to the correct **PyTorch** and **PyG** (PyTorch Geometric) wheels for your platform.
76
+
* Generates a precise `uv.lock` file and syncs all dependencies.
77
+
78
+
---
79
+
80
+
### 🛠️ Manual Environment Setup
81
+
82
+
If you prefer to manage the environment manually or are integrating into an existing workflow:
80
83
81
-
Next, set up the environment with the following command.
82
84
```bash
83
-
source env_setup.sh
85
+
# Create a virtual environment with strict versioning
86
+
uv venv --python 3.11
87
+
source .venv/bin/activate
88
+
89
+
# Sync dependencies including all extras (dev, test, and doc)
90
+
uv sync --all-extras
84
91
```
85
-
This command installs the `TopoBench` library and its dependencies.
86
92
87
-
### Run Training Pipeline
93
+
🚄 Run Training Pipeline
94
+
Once the environment is active, you can launch the TopoBench pipeline:
95
+
```bash
96
+
# Using the activated virtual environment
97
+
python -m topobench
88
98
89
-
Once the setup is completed, train and evaluate a neural network by running the following command:
99
+
# Or execute directly via uv without manual activation
100
+
uv run python -m topobench
101
+
```
90
102
103
+
✅ Verify Installation
104
+
You can verify that the correct versions of Torch and CUDA are detected by running:
@@ -390,14 +404,15 @@ Specially useful in pre-processing steps, these are the general data manipulatio
390
404
To learn more about `TopoBench`, we invite you to read the paper:
391
405
392
406
```
393
-
@article{telyatnikov2024topobench,
394
-
title={TopoBench: A Framework for Benchmarking Topological Deep Learning},
395
-
author={Lev Telyatnikov and Guillermo Bernardez and Marco Montagna and Pavlo Vasylenko and Ghada Zamzmi and Mustafa Hajij and Michael T Schaub and Nina Miolane and Simone Scardapane and Theodore Papamarkou},
396
-
year={2024},
397
-
eprint={2406.06642},
398
-
archivePrefix={arXiv},
399
-
primaryClass={cs.LG},
400
-
url={https://arxiv.org/abs/2406.06642},
407
+
@article{
408
+
telyatnikov2025topobench,
409
+
title={TopoBench: A Framework for Benchmarking Topological Deep Learning},
410
+
author={Lev Telyatnikov and Guillermo Bernardez and Marco Montagna and Mustafa Hajij and Martin Carrasco and Pavlo Vasylenko and Mathilde Papillon and Ghada Zamzmi and Michael T Schaub and Jonas Verhellen and Pavel Snopov and Bertran Miquel-Oliver and Manel Gil-Sorribes and Alexis Molina and VICTOR GUALLAR and Theodore Long and Julian Suk and Patryk Rygiel and Alexander V Nikitin and Giordan Escalona and Michael Banf and Dominik Filipiak and Liliya Imasheva and Max Schattauer and Alvaro L. Martinez and Halley Fritze and Marissa Masden and Valentina S{\'a}nchez and Manuel Lecha and Andrea Cavallo and Claudio Battiloro and Matthew Piekenbrock and Mauricio Tec and George Dasoulas and Nina Miolane and Simone Scardapane and Theodore Papamarkou},
411
+
journal={Journal of Data-centric Machine Learning Research},
412
+
issn={XXXX-XXXX},
413
+
year={2025},
414
+
url={https://openreview.net/forum?id=07sTzyEVtY},
415
+
note={}
401
416
}
402
417
```
403
418
If you find `TopoBench` useful, we would appreciate if you cite us!
0 commit comments