AttributeError:模块'keras.utils'没有使用segmentation_models的属性'get_file'
Posted
技术标签:
【中文标题】AttributeError:模块\'keras.utils\'没有使用segmentation_models的属性\'get_file\'【英文标题】:AttributeError: module 'keras.utils' has no attribute 'get_file' using segmentation_modelsAttributeError:模块'keras.utils'没有使用segmentation_models的属性'get_file' 【发布时间】:2021-08-19 20:18:32 【问题描述】:我正在尝试使用分段模型,但无法修复此错误。我已经搜索过这个特别的 一个,但找不到答案。我正在使用 pycharm,此错误与此特定代码行相关联 BACKBONE = 'resnet34'
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'
【问题讨论】:
在 Colab 中,我遇到了同样的错误,并试图通过查看 github 中的问题来解决它,但它对我不起作用。然后转到kaggle,通过在导入前添加%env SM_FRAMEWORK=tf.keras
解决了问题
【参考方案1】:
你可以试试:
import segmentation_models as sm
sm.set_framework('tf.keras')
sm.framework()
在 google colab 上为我工作!
【讨论】:
这也适用于 tf 2.7。谢谢! 我在 Linux 上,但这并没有解决它。 :(以上是关于AttributeError:模块'keras.utils'没有使用segmentation_models的属性'get_file'的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:模块'asyncio'没有属性'run'
AttributeError:模块'mysql'没有属性'connector'
AttributeError:模块 'urllib' 没有属性 'parse'