导入错误:将分段模型导入为 sm

问题描述 投票:0回答:2

所以我想将分段模型导入为 sm,并尝试使用此进行 pip 安装:

pip install segmentation-models

然后我想用这个导入它:

import segmentation_models as sm

我收到此错误:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/segmentation_models/__init__.py in <module>
     97 try:
---> 98     set_framework(_framework)
     99 except ImportError:

12 frames
ModuleNotFoundError: No module named 'tensorflow.keras'

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/keras/saving/saving_lib.py in <module>
     31 from keras import losses
     32 from keras.engine import base_layer
---> 33 from keras.optimizers import optimizer
     34 from keras.saving.serialization_lib import ObjectSharingScope
     35 from keras.saving.serialization_lib import deserialize_keras_object

ImportError: cannot import name 'optimizer' from 'keras.optimizers' (/usr/local/lib/python3.10/dist-packages/keras/optimizers.py)

仅供参考,我已经安装了tensorflow和keras,这是它的版本:

tensorflow                       2.12.0
keras                            2.12.0

有人可以告诉我我做错了什么吗?

tensorflow keras
2个回答
1
投票

我们的代码没有任何错误。完全没问题。

只是最新的分割模型版本恰好是 1.0.1,可以追溯到 2020 年 1 月,当时 Keras 版本为 2.10。

Keras 会不时地进行更新,现在 Keras 不支持导入其某些模块,这些模块会在我们导入分段模型时自动导入。

克服导入错误的解决方案在于将 Keras 降级到与 segmentation-models 1.0.1兼容的版本。

我也尝试了同样的方法,成功了。

以下是代码供您参考:

pip install keras==2.10
import tensorflow as tf
from tensorflow import keras

检查版本

keras.__version__

输出:

2.10.0

安装细分模型

pip install segmentation-models==1.0.1

输出:

Segmentation Models: using `keras` framework.

我希望这也适合你。


0
投票

3 @keras_export("keras.optimizers.Optimizer", 元类=abc.ABCMeta) 104 类 OptimizerV2(tf.internal.tracking.Trackable): 105 """Keras 优化器的基类。

TypeError:api_export。init()得到了意外的关键字参数'metaclass'

仍然出现错误

© www.soinside.com 2019 - 2024. All rights reserved.