Search code examples
pythonkeraserror-handlingattributeerrorefficientnet

import efficientnet.keras as efn - AttributeError: module 'keras.utils' has no attribute 'generic_utils'


I am trying to use EfficientNet from https://github.com/qubvel/segmentation_models.

So, I installed this via pip:

!pip install git+https://github.com/qubvel/segmentation_models

Then I tried to import efficientnet.keras:

import efficientnet.keras as efn

And got this error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-57-61d736540c72> in <module>()
----> 1 import efficientnet.keras as efn

1 frames
/usr/local/lib/python3.6/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' has no attribute 'generic_utils'

This is very strange since it worked yesterday without any problems and today in one notebook as well but in the other ones I got this error. Does anyone know what to do?


Solution

  • It seems for me that you are using Colab and they have probably upgraded some packages today, so we got the same error. I solved that issue by downgrading the Keras and Tenserflow packages to the previous ones (I have only guessed the version numbers) via:

    !pip install q tensorflow==2.1
    !pip install q keras==2.3.1