繁体   English   中英

AttributeError:模块'keras.utils'没有使用segmentation_models的属性'get_file'

[英]AttributeError: module 'keras.utils' has no attribute 'get_file' using segmentation_models

我正在尝试使用细分模型,但我无法修复此错误。 我已经搜索过这个特定的但找不到答案。 我正在使用 pycharm 并且此错误链接到此特定代码行 BACKBONE = 're.net34'

model1 = sm.Unet(BACKBONE, weights=None,
                 encoder_weights='imagenet',
                 classes=num_classes,
                 activation='softmax',
                 decoder_block_type = 'upsampling') 

这也是第 83 个。 我在文档中搜索,显然 tensorflow keras 等版本满足要求。我真的不知道该怎么做,因为我真的试图以多种组合安装和卸载所有内容,以便将这段代码用于工作。感谢大家的帮助和时间,下面是完整的错误,希望对您有所帮助!

    `Traceback (most recent call last):
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\main.py", line 83, in <module>
        model1 = sm.Unet('resnet34', weights=None,
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site- 
   packages\segmentation_models\__init__.py", line 34, in wrapper
        return func(*args, **kwargs)
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site- 
   packages\segmentation_models\models\unet.py", line 221, in Unet
        backbone = Backbones.get_backbone(
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site- 
   packages\segmentation_models\backbones\backbones_factory.py", line 103, in get_backbone
        model = model_fn(*args, **kwargs)
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site- 
   packages\classification_models\models_factory.py", line 78, in wrapper
        return func(*args, **new_kwargs)
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site- 
   packages\classification_models\models\resnet.py", line 314, in ResNet34
        return ResNet(
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site- 
   packages\classification_models\models\resnet.py", line 280, in ResNet
        load_model_weights(model, model_params.model_name,
      File "C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site- 
   packages\classification_models\weights.py", line 25, in load_model_weights
        weights_path = keras_utils.get_file(
    AttributeError: module 'keras.utils' has no attribute 'get_file'

你可以试试:

import segmentation_models as sm

sm.set_framework('tf.keras')

sm.framework()

在 google colab 上为我工作!

这解决了我笔记本电脑上的问题。

这里提供的另一个答案对我不起作用。 相反,升级 keras 通过以下方式对我有用:

pip install --upgrade keras

为了解决这个问题,尝试直接导入模块EfficientNetB0,如下代码:

import efficientnet.tfkeras as efn

我遇到了同样的问题,但使用 vgg u.net model,这对我有用

!apt-get install -y libsm6 libxext6 libxrender-dev

!pip install opencv-python

!pip install git+https://github.com/divamgupta/image-segmentation-keras

from keras_segmentation.models.unet import vgg_unet

或者在这里查看它是如何实现的https://gitee.com/sanyanjie/image-segmentation-keras

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM