You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用segmentation_models报keras.utils无get_file属性错误如何解决

问题解决方案

报错核心原因

该报错的核心原因是segmentation_models依赖的classification_models库长期未更新,默认调用的独立Keras包接口与当前环境的Keras/TensorFlow版本不匹配,keras.utils.get_file接口在高版本独立Keras中被移除/迁移,而库默认没有适配TensorFlow内置的Keras接口。

解决方案1(优先使用,无需修改依赖包源码)

在导入segmentation_models的代码行之前,添加环境变量指定框架为TensorFlow内置Keras:

import os
os.environ["SM_FRAMEWORK"] = "tf.keras"
# 注意必须在导入segmentation_models之前设置上面的环境变量
import segmentation_models as sm

修改后重新执行代码即可,库会自动调用tf.keras.utils.get_file接口,该接口在所有TensorFlow 2.x版本中都存在。

解决方案2(手动补丁修复)

如果方案1不生效,可以直接修改库的源码适配:

  1. 打开报错路径下的文件:C:\Users\Giulia\PycharmProjects\multiclass_new\venv\lib\site-packages\classification_models\weights.py
  2. 将文件开头的import keras.utils as keras_utils替换为:
import tensorflow.keras.utils as keras_utils

保存后重新运行代码即可。

解决方案3(版本回退)

如果不想修改代码,可以将对应依赖回退到适配版本:

  • 卸载当前的keras、tensorflow
  • 安装适配版本:pip install tensorflow==2.9.0 keras==2.9.0
    版本匹配后即可正常运行。

内容的提问来源于stack exchange,提问作者giulia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 14:45:10