簡體   English   中英

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

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

我正在嘗試使用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'

這很奇怪,因為它昨天工作沒有任何問題,今天在一個筆記本上也是如此,但在其他筆記本上我得到了這個錯誤。 有誰知道該怎么做?

在我看來,您正在使用 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% 安全的解決方案,但在我的情況下它運行良好。

!pip install tensorflow==2.1.0
!pip install keras==2.3.1
!pip install segmentation-models

試試這個它在谷歌colab上對我有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM