pythontensorflowkerasimage-segmentation

module 'keras.utils.generic_utils' has no attribute 'get_custom_objects' when importing segmentation_models


I am working on google colab with the segmentation_models library. It worked perfectly the first week using it, but now it seems that I can't import the library anymore. Here is the error message, when I execute import segmentation_models as sm :

---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-3-6f48ce46383f> in <module>
      1 import tensorflow as tf
----> 2 import segmentation_models as sm

            3 frames

/usr/local/lib/python3.8/dist-packages/efficientnet/__init__.py in init_keras_custom_objects()
     69     }
     70 
---> 71     keras.utils.generic_utils.get_custom_objects().update(custom_objects)
     72 
     73 

AttributeError: module 'keras.utils.generic_utils' has no attribute 'get_custom_objects'

Colab uses tensorflow version 2.11.0.

I did not find any information about this particular error message. Does anyone know where the problem may come from ?


Solution

  • Encountered the same issue sometimes. How I solved it:

    1. open the file keras.py, change all the 'init_keras_custom_objects' to 'init_tfkeras_custom_objects'.

    2. the location of the keras.py is in the error message. In your case, it should be in /usr/local/lib/python3.8/dist-packages/efficientnet/