所以我想将分段模型导入为 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
有人可以告诉我我做错了什么吗?
我们的代码没有任何错误。完全没问题。
只是最新的分割模型版本恰好是 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.
我希望这也适合你。
3 @keras_export("keras.optimizers.Optimizer", 元类=abc.ABCMeta) 104 类 OptimizerV2(tf.internal.tracking.Trackable): 105 """Keras 优化器的基类。
TypeError:api_export。init()得到了意外的关键字参数'metaclass'
仍然出现错误