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

代码昨日正常今日报错:如何解决无法从keras.utils.layer_utils导入CallFunctionSpec?

问题描述

昨日运行正常的代码今日触发ImportError,代码如下:

from sklearn import metrics
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
from tensorflow.keras.models import Sequential
from tensorflow.python.keras.optimizers import Adam

错误栈信息:

ImportError                               Traceback (most recent call last)
<ipython-input-71-00e64660885b> in <cell line: 2>()
      1 from sklearn import metrics
----> 2 from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
      3 from tensorflow.keras.models import Sequential
      4 from tensorflow.python.keras.optimizers import Adam

7 frames
/usr/local/lib/python3.9/dist-packages/keras/saving/legacy/saved_model/utils.py in <module>
     28 from keras.utils import tf_contextlib
     29 from keras.utils.generic_utils import LazyLoader
---&gt; 30 from keras.utils.layer_utils import CallFunctionSpec
     31 
     32 training_lib = LazyLoader("training_lib", globals(), "keras.engine.training")

ImportError: cannot import name 'CallFunctionSpec' from 'keras.utils.layer_utils' (/usr/local/lib/python3.9/dist-packages/keras/utils/layer_utils.py)

未直接调用keras.utils模块,仅导入tensorflow.keras相关组件却触发该错误,且问题多次出现。

解决方法
  • 修复版本冲突:该错误几乎都是独立安装的Keras与TensorFlow内置Keras版本不兼容导致的。卸载独立Keras并升级TensorFlow:
    pip uninstall -y keras
    pip install --upgrade tensorflow
    
  • 清理缓存重装:若升级后问题仍存在,清理pip缓存并重新安装TensorFlow:
    pip cache purge
    pip uninstall -y tensorflow
    pip install tensorflow
    
  • 统一导入规范:避免混合使用tensorflow.keras和tensorflow.python.keras路径,将优化器导入改为统一格式:
    # 替换原导入行
    from tensorflow.keras.optimizers import Adam
    
  • 确认环境正确性:如果使用虚拟环境,确保当前激活的是目标环境,未混用其他环境的依赖包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:02:41