Either via Docker or a standard setup. Start with:
git submodule update --init --recursive
- Setup python version 3.10.13. E.g. with
pyenv install 3.10.13
andpyenv local 3.10.13
. Set up a virtual environment, e.g. viapython3 -m venv ./venv
andsource ./venv/bin/activate
, - Install dependencies via poetry
$ python -m pip install --upgrade pip
$ pip install poetry
$ poetry install
pip install -e ./dependencies/TopoModelX/
pip install -e ./dependencies/mantra/
Depending on your setup, you may need to run the docker commands via sudo
.
- Install Docker on your device. On Ubuntu, for instance, refer to official_installation_instructions
- Edit the variables
USER_NAME
toGROUP_ID
in the Dockerfile docker compose up --build -d
. Check that container is running viadocker ps
docker exec -it mantra_container /bin/bash
- When inside the container, run
source /deps/venv/bin/activate
to source the ready virtual environment
- Change in code directory.
- Generate experiment configurations:
./generate_configs.sh
- Run experiments:
$ python ./experiments/run.py --mode "single" --config "/path/to/config.yaml" --wandb "wandb-project-id"
for running a single experiment or
$ python ./experiments/run.py --mode "all" --wandb "wandb-project-id"
for running all experiments.
- Run benchmarking
$ python ./experiments/run.py --mode "<single/all>" --checkpoints "<checkpoints/to/be/benchmarked>"
- Result processing and table generation.
$ python ./experiments/generate_tables.py
# optional
$ pandoc results_2fullmanifolds.md -o results_2fullmanifolds.pdf -V geometry:margin=0.1in -V geometry:a1paper
Results can be inspected in notebooks/interpret_results.ipynb
- Formatting using black 24.4.2. Install via pip (
pip install black==24.4.2
).
Name | ||||||
---|---|---|---|---|---|---|
'S^2' | 'RP^2' | 'T^2' | 'Klein bottle' | '' | ||
306 | 1367 | 2229 | 4655 | 34584 | ||
Orientability | ||||||
True | False | |||||
3420 | 39718 | |||||
Betti Numbers | ||||||
Betti_0 | ||||||
1 | ||||||
43138 | ||||||
Betti_1 | ||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 |
1670 | 4655 | 14146 | 13694 | 7917 | 1022 | 34 |
Betti_2 | ||||||
0 | 1 | |||||
39718 | 3420 |