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

使用EfficientNet遇AttributeError: keras.utils无get_file属性如何解决

AttributeError: module 'keras.utils' has no attribute 'get_file' 报错解决方案

报错原因

该错误由Keras版本迭代导致API位置变更引发:TensorFlow 2.10+及独立Keras 2.10+版本中,get_file接口已从keras.utils模块迁移至其他子模块,旧代码/旧依赖直接调用原路径就会触发该报错。

报错参考截图

报错截图1
报错截图2

解决步骤

方案1:调整导入路径(无需改动环境,最快生效)

把原有调用keras.utils.get_file的代码替换为对应版本的正确导入路径:

  • 若使用独立Keras包:
# 替换原有导入语句
from keras.utils.data_utils import get_file
  • 若使用TensorFlow内置的tf.keras:
from tensorflow.keras.utils import get_file

方案2:修复segmentation-models兼容问题

你已安装的segmentation-models默认适配旧版Keras,需要安装适配新版本的分支并配置环境变量:

  1. 执行命令安装最新版分支:
    pip install git+https://github.com/qubvel/segmentation_models.git@master
  2. 在代码开头导入segmentation_models前添加环境变量配置:
import os
os.environ['SM_FRAMEWORK'] = 'tf.keras'
import segmentation_models as sm

方案3:版本回退(适配老项目无代码修改需求)

直接安装API匹配的版本组合即可:
pip install keras==2.9.0 tensorflow==2.9.0

注意事项

不要直接导入tensorflow.python目录下的模块,该目录下为TensorFlow内部私有API,无版本兼容性保障,版本更新时会随意调整路径和逻辑,正式代码禁止使用该类导入方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:06:09