juglab / cryoCARE_pip

PIP package of cryoCARE
BSD 3-Clause "New" or "Revised" License
26 stars 14 forks source link

Installation instructions are not working #2

Closed thorstenwagner closed 2 years ago

thorstenwagner commented 2 years ago

The installation instructions goes as follows:

  1. Install latest tensorflow
  2. Install cryocare via pip

However, the latest tensorflow (2.7) is not compatible with the keras version specified by cryocare (<2.4). You will get errors like this when running the scripts:

1   2021-12-10·14:20:09.444889:·W·tensorflow/stream_executor/platform/default/dso_loader.cc:64]·Could·not·load·dynamic·library·'libcudart.so.11.0';·dlerror:·libcudart.so.11.0:·cannot·open·shared·object·file:·No·    such·file·or·directory;·LD_LIBRARY_PATH:·/mnt/beegfs/software/em/cuda/cuda_10.0/lib64:/mnt/beegfs/software/em/openmpi/openmpi-2.0.4/lib:/cm/shared/apps/slurm/17.11.8/lib64/slurm:/cm/shared/apps/slurm/17.11.8    /lib64:/cm/local/apps/gcc/7.2.0/lib:/cm/local/apps/gcc/7.2.0/lib64:/mnt/beegfs/software/em/sidesplitter/fftw/v3.3.8/lib64✂
  1 2021-12-10·14:20:09.445574:·I·tensorflow/stream_executor/cuda/cudart_stub.cc:29]·Ignore·above·cudart·dlerror·if·you·do·not·have·a·GPU·set·up·on·your·machine.✂
  2 Using·TensorFlow·backend.✂                                                       
  3 Traceback·(most·recent·call·last):✂                                              
  4 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/bin/cryoCARE_extract_train_data.py",·line·5,·in·<module>✂
  5 ····from·cryocare.internals.CryoCAREDataModule·import·CryoCARE_DataModule✂       
  6 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/cryocare/internals/CryoCAREDataModule.py",·line·11,·in·<module>✂
  7 ····class·CryoCARE_Dataset(tf.keras.utils.Sequence):✂                            
  8 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/tensorflow/python/util/lazy_loader.py",·line·62,·in·__getattr__✂
  9 ····module·=·self._load()✂                                                       
 10 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/tensorflow/python/util/lazy_loader.py",·line·45,·in·_load✂
 11 ····module·=·importlib.import_module(self.__name__)✂                             
 12 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/importlib/__init__.py",·line·127,·in·import_module✂
 13 ····return·_bootstrap._gcd_import(name[level:],·package,·level)✂                 
 14 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/__init__.py",·line·3,·in·<module>✂
 15 ····from·.·import·utils✂                                                         
 16 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/utils/__init__.py",·line·26,·in·<module>✂
 17 ····from·.vis_utils·import·model_to_dot✂                                         
 18 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/utils/vis_utils.py",·line·7,·in·<module>✂
 19 ····from·..models·import·Model✂                                                  
 20 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/models.py",·line·12,·in·<module>✂
 21 ····from·.engine.training·import·Model✂                                          
 22 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/engine/__init__.py",·line·8,·in·<module>✂
 23 ····from·.training·import·Model✂                                                 
 24 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/engine/training.py",·line·14,·in·<module>✂
 25 ····from·.·import·training_utils✂                                                
 26 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/engine/training_utils.py",·line·17,·in·<module>✂
 27 ····from·..·import·metrics·as·metrics_module✂                                    
 28 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/keras/metrics.py",·line·1850,·in·<module>✂
 29 ····BaseMeanIoU·=·tf.keras.metrics.MeanIoU✂                                      
 30 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/tensorflow/python/util/lazy_loader.py",·line·62,·in·__getattr__✂
 31 ····module·=·self._load()✂                                                       
 32 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/site-packages/tensorflow/python/util/lazy_loader.py",·line·45,·in·_load✂
 33 ····module·=·importlib.import_module(self.__name__)✂                             
 34 ··File·"/mnt/beegfs/software/em/automatic_installs/miniconda3_envs/cryocare_0.1.1/lib/python3.9/importlib/__init__.py",·line·127,·in·import_module✂
 35 ····return·_bootstrap._gcd_import(name[level:],·package,·level)✂                 
 36 ModuleNotFoundError:·No·module·named·'keras.api'✂   

A working combination that I found is tensorflow 2.5 and keras 2.3.1

thorstenwagner commented 2 years ago

Hm, there where some other problems, but with this environment everything is working:

conda create -n cryocare -c conda-forge -c anaconda python=3 cudatoolkit=11.2 cudnn=8.1 keras=2.3.1
pip install cryoCARE