YerevaNN / mimic3-benchmarks

Python suite to construct benchmark machine learning datasets from the MIMIC-III 💊 clinical database.
https://arxiv.org/abs/1703.07771
MIT License
805 stars 329 forks source link

How to manage the newer packages to run the benchmark dataset correctly ? #143

Open Hank-Tang opened 7 months ago

Hank-Tang commented 7 months ago

Hi. I have been working on this benchmark repo for a few days. Thanks for the great work of the authors! However, the packages used originally were no longer supported by doing pip install on my MacOS locally via VS Code. Therefore, I choose to use more updated packages. I run into the issue of backward compatibility with previous implementations of keras modules and tensorflow. For instance, I use Python 3.9.0 (virtual environment as instructed), tensorflow 2.16.0rc0, and keras 3.0.0, I tried running KERAS_BACKEND=tensorflow python -um mimic3models.length_of_stay.main --network mimic3models/keras_models/lstm.py --dim 64 --timestep 1.0 --depth 1 --dropout 0.3 --mode train --batch_size 8 --partition custom --output_dir mimic3models/length_of_stay (neural network for LOS task).

Here is the error message in the terminal: File "....../miniconda3/envs/mimic3/lib/python3.9/site-packages/keras/src/backend/tensorflow/core.py", line 5, in from tensorflow.compiler.tf2xla.python.xla import dynamic_update_slice ModuleNotFoundError: No module named 'tensorflow.compiler.tf2xla'

Now, I have also tried using other versions of keras & tensorflow, like 2.15.0, but there are other modules raised as errors.

I think that this is an issue with backward compatibility regarding ML packages. Could anyone kindly give me some suggestions and guidance? I am new to doing research and far from being experienced enough. Thanks a lot!