from tensorflow import kerasfrom segmentation_models import PSPNet
运行这段代码时,我遇到了以下错误:
AttributeError Traceback (most recent call last)<ipython-input-14-fbd9360b4944> in <module>() 1 2 from tensorflow import keras----> 3 from segmentation_models import PSPNet3 frames/usr/local/lib/python3.6/dist-packages/segmentation_models/__init__.py in <module>() 96 _framework = os.environ.get('SM_FRAMEWORK', _DEFAULT_KERAS_FRAMEWORK) 97 try:---> 98 set_framework(_framework) 99 except ImportError: 100 other = _TF_KERAS_FRAMEWORK_NAME if _framework == _KERAS_FRAMEWORK_NAME else _KERAS_FRAMEWORK_NAME/usr/local/lib/python3.6/dist-packages/segmentation_models/__init__.py in set_framework(name) 66 if name == _KERAS_FRAMEWORK_NAME: 67 import keras---> 68 import efficientnet.keras # init custom objects 69 elif name == _TF_KERAS_FRAMEWORK_NAME: 70 from tensorflow import keras/usr/local/lib/python3.6/dist-packages/efficientnet/keras.py in <module>() 15 preprocess_input = inject_keras_modules(model.preprocess_input) 16 ---> 17 init_keras_custom_objects()/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'
我按照提供的说明(链接)使用pip安装了segmentation-models库。如果有人能帮助我解决这个问题,我将不胜感激。我只是简单地从说明中复制了代码,网上找到的所有信息都与此相同。是否可能是安装出了问题?
请指导我解决这个问题!:)
回答:
您遇到这个问题是因为您使用的是Tensorflow版本 >= 2.2
。要解决这个问题,您必须使用Tensorflow 2.1/2.0
或Tensorflow 1.x(即1.15.2)
。
请按照以下步骤使用TF 2.1
和Segmentation models
进行图像分割
。
!pip install q tensorflow==2.1 !pip install segmentation-models import tensorflow as tf from segmentation_models import PSPNet #实例化PSPNet模型 model = PSPNet() #显示模型摘要 model.summary()