将efficientnet.keras作为efn属性导入错误:模块“keras.utils”没有属性“generic\u utils”

2024-06-02 23:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用来自https://github.com/qubvel/segmentation_models的EfficientNet

所以,我通过pip安装了这个:

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

然后我尝试导入efficientnet.keras

import efficientnet.keras as efn

得到了这个错误:

---------------------------------------------------------------------------
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'

这是非常奇怪的,因为它昨天工作没有任何问题,今天在一个笔记本以及,但在其他的我得到了这个错误。有人知道该怎么做吗


Tags: piphttpsimportgithubcomobjectsmodelsas
3条回答
!pip install tensorflow==2.1.0
!pip install keras==2.3.1
!pip install segmentation-models

试试这个,它在google colab上对我有效

在我看来,您正在使用Colab,他们今天可能已经升级了一些软件包,所以我们得到了相同的错误。我通过以下方式将Keras和Tenserflow软件包降级到以前的软件包(我只猜测了版本号),从而解决了这个问题:

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

您仍然可以将tensorflow 2.4.1与分段模型v一起使用。1.0.1.

get_custom_objects()keras.utils.generic_utils移动到keras.utils

您可以:

keras.utils.generic_utils = keras.utils

只有在这之后,您才能导入segmentation models

这不是100%安全的解决方案,但在我的情况下,它工作得很好

相关问题 更多 >