uhlmanngroup / muMatch

Pipeline for putting surface meshes into correspondence
BSD 3-Clause "New" or "Revised" License
25 stars 5 forks source link

Not able to run the test pipeline due to missing teeth_dataset #8

Open Dani8905 opened 2 weeks ago

Dani8905 commented 2 weeks ago

Hey,

Unfortunatly i was not able to set up the project correctly. I had to update the environment.yaml Because the version of the jaxlib module was not found by conda.

name: mumatch
channels:
  - conda-forge
  - defaults
dependencies:
  - igl
  - joblib
  - jupyter=1.0.0
  - meshplot=0.4.0
  - numpy=1.21.2
  - pandas
  - pip=21.2.4
  - python=3.8
  - pyyaml=5.4.1
  - scikit-learn=0.24.2
  - scipy=1.7.1
  - tensorboard=2.4.1
  - tensorflow=2.4.3
  - tqdm=4.62.2
  - pip:
    **- jax
    - jaxlib**
    - matplotlib
    - networkx==2.6.3
    - ortools==9.0.9048
    - pymeshfix==0.15.0
    - scikit-image==0.18.3
    - vedo==2021.0.5

Then i created a python ./testmuMatch.py

from micro_match.pipeline import run_micromatch_test run_micromatch_test()

The exectution of the python file leads to the following exception:

(mumatch) vscode ➜ /workspaces/anaconda/muMatch-main $ python ./testmuMatch.py

------------------------------------------------------------
Resampling meshes
------------------------------------------------------------

100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 64860.37it/s]

------------------------------------------------------------
Calculating geodesic matrices
------------------------------------------------------------

100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 103138.62it/s]

------------------------------------------------------------
Calculating Laplacian eigendecomposition
------------------------------------------------------------

100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 18.69it/s]

------------------------------------------------------------
Calculating signature functions
------------------------------------------------------------

100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 37338.02it/s]

Preprocessing complete.

Epoch 1, Loss: 6.266243934631348
Epoch 2, Loss: 5.676225185394287
Epoch 3, Loss: 5.162461757659912
Epoch 4, Loss: 4.695162773132324
Epoch 5, Loss: 4.286289215087891
Epoch 6, Loss: 3.951737642288208
Epoch 7, Loss: 3.499699354171753
Epoch 8, Loss: 3.2371416091918945
Epoch 9, Loss: 2.9360949993133545
Epoch 10, Loss: 3.0419766902923584
Traceback (most recent call last):
  File "/opt/conda/envs/mumatch/lib/python3.8/site-packages/tensorflow/python/training/py_checkpoint_reader.py", line 95, in NewCheckpointReader
    return CheckpointReader(compat.as_bytes(filepattern))
RuntimeError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for /workspaces/anaconda/muMatch-main/micro_match/preprocessing/deep_functional_maps/checkpoints/Teeth_dataset

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./testmuMatch.py", line 3, in <module>
    run_micromatch_test()
  File "/workspaces/anaconda/muMatch-main/micro_match/pipeline.py", line 192, in run_micromatch_test
    run_microMatch(
  File "/workspaces/anaconda/muMatch-main/micro_match/pipeline.py", line 160, in run_microMatch
    optimise_signatures.process_directory(
  File "/workspaces/anaconda/muMatch-main/micro_match/preprocessing/deep_functional_maps/optimise_signatures.py", line 36, in process_directory
    predictor = dfmPredictor(mesh_type, num_signatures)
  File "/workspaces/anaconda/muMatch-main/micro_match/preprocessing/deep_functional_maps/prediction.py", line 19, in __init__
    self.func.load_weights(weight_path)
  File "/opt/conda/envs/mumatch/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py", line 2194, in load_weights
    py_checkpoint_reader.NewCheckpointReader(filepath)
  File "/opt/conda/envs/mumatch/lib/python3.8/site-packages/tensorflow/python/training/py_checkpoint_reader.py", line 99, in NewCheckpointReader
    error_translator(e)
  File "/opt/conda/envs/mumatch/lib/python3.8/site-packages/tensorflow/python/training/py_checkpoint_reader.py", line 35, in error_translator
    raise errors_impl.NotFoundError(None, None, error_message)
tensorflow.python.framework.errors_impl.NotFoundError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for /workspaces/anaconda/muMatch-main/micro_match/preprocessing/deep_functional_maps/checkpoints/Teeth_dataset

When I look it up the folder /workspaces/anaconda/muMatch-main/micro_match/preprocessing/deep_functional_maps/checkpoints is created but thee is no folder Teeth_dataset in it.

Has someone any idea?

Dani8905 commented 2 weeks ago

i swa that you were able to set it up @benmooo Was anything else necessary except cloning the repo and doing the steps in the read me file? Thx in advance.