frankkramer-lab / aucmedi

a framework for Automated Classification of Medical Images
https://frankkramer-lab.github.io/aucmedi/
GNU General Public License v3.0
38 stars 12 forks source link

ModuleNotFoundError: No module named 'keras.engine' #214

Closed krekiehn closed 6 months ago

krekiehn commented 9 months ago

Hi,

i build a new venv in pycharm for aucmedi (just use: pip install aucmedi). i tried out python 3.8 and 3.10. Both lead to the same error if i try to import aucmedi:

import aucmedi

ModuleNotFoundError: No module named 'keras.engine'

Full output:

ons (TFA) has ended development and introduction of new features. TFA has entered a minimal maintenance and release mode until a planned end of life in May 2024. Please modify downstream libraries to take dependencies from other repositories in our TensorFlow community (e.g. Keras, Keras-CV, and Keras-NLP). For more information see: https://github.com/tensorflow/addons/issues/2807 warnings.warn( Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev\pydevconsole.py", line 364, in runcode coro = func() File "", line 1, in File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_umd.py", line 197, in runfile pydev_imports.execfile(filename, global_vars, local_vars) # execute the script File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\Frameworks\AUCMEDI\tryout.py", line 4, in from aucmedi import input_interface, NeuralNetwork File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\aucmedi__init__.py", line 80, in from aucmedi.neural_network.model import NeuralNetwork File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, *kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\aucmedi\neural_network\model.py", line 27, in from aucmedi.neural_network.architectures import architecture_dict, \ File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, args, kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\aucmedi\neural_network\architectures__init__.py", line 79, in from aucmedi.neural_network.architectures.volume import architecture_dict as arch_volume File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\aucmedi\neural_network\architectures\volume__init__.py", line 28, in from aucmedi.neural_network.architectures.volume.densenet121 import DenseNet121 File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, *kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\aucmedi\neural_network\architectures\volume\densenet121.py", line 45, in from classification_models_3D.tfkeras import Classifiers File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, args, kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\classification_models_3D\tfkeras.py", line 2, in from .models_factory import ModelsFactory File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\classification_models_3D\models_factory.py", line 14, in from .models import efficientnet as eff File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, *kwargs) File "C:\Users\User\PycharmProjects\abdominal-aortic-calcification-aac-on-scout-and-ct\venv\lib\site-packages\classification_models_3D\models\efficientnet.py", line 33, in from keras.engine import training File "C:\Program Files\JetBrains\PyCharm 2023.2.4\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, args, kwargs) ModuleNotFoundError: No module named 'keras.engine'

Maybe it is related to that topic "ons (TFA) has ended development and introduction of new features. TFA has entered a minimal maintenance and release mode until a planned end of life in May 2024." ?

krekiehn commented 9 months ago

My issue seems to be related to https://github.com/frankkramer-lab/aucmedi/issues/213

One solution for this problem is:

change from keras.engine import training to from keras.src.engine import training

But it doesn't solve the genrell problem

muellerdo commented 6 months ago

Hi @krekiehn,

thank you for spotting this issue and as well providing a hotfix in the meantime for it! :)

Fixed & released in version v0.9.0.

Cheers, Dominik