如何解决“ModuleNotFoundError: No module named 'keras.layers.advanced_activations'”问题。

8

我正在尝试导入ImageAI。

from imageai.Detection import VideoObjectDetection

但是以下错误信息显示:

ModuleNotFoundError: No module named 'keras.layers.advanced_activations'

我的tensorflow版本为2.9.1, keras版本为2.9.0, keras-preprocessing版本为1.1.2, image ai版本为2.1.5。

我通过pip install imageai-2.0.2-py3-none-any.whl安装了imageai,并从这里下载。


Keras 2.9.0不再拥有advanced_activations模块。您应该尝试降级软件包。我尝试了2.1.0版本,并且似乎可以正常工作。 - M Z
我尝试将Keras降级到2.1.0,但它与TensorFlow 2.9.1不兼容。请问有哪个版本的TensorFlow与Keras 2.1.0兼容?谢谢! - Shay ril
5个回答

9
以下代码是调用几种高级激活函数的示例,请尝试调用:
from keras.layers import ELU, PReLU, LeakyReLU

3
导入以下keras版本2.9.0的代码如下。
from keras.layers import LeakyReLU

1

我今天也遇到了同样的错误。将我的keras版本降级到2.1.0和tensorflow版本降级到2.2.0就解决了这个错误。


0
请使用此链接安装imageai,或者在安装imageai之前使用以下代码安装几个库。
pip install cython pillow>=7.0.0 numpy>=1.18.1 opencv-python>=4.1.2 torch>=1.9.0 --extra-index-url https://download.pytorch.org/whl/cpu torchvision>=0.10.0 --extra-index-url https://download.pytorch.org/whl/cpu pytest==7.1.3 tqdm==4.64.1 scipy>=1.7.3 matplotlib>=3.4.3 mock==4.0.3

pip install imageai --upgrade

然后像下面这样导入 VideoObjectDetection

from imageai.Detection import VideoObjectDetection

0
我遇到了同样的错误。ModuleNotFoundError: No module named 'keras.layers.advanced_activations' 为了解决这个问题:
尝试安装与Keras 2.8.0兼容的TensorFlow 2.8.2 pip install tensorflow==2.8.2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接