簡體   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