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

运行Waste-Classifier-V2时遇tensorflow.keras模块缺失错误

解决ModuleNotFoundError: No module named 'tensorflow.keras'问题

核心原因

  1. TensorFlow 1.12.0无tensorflow.keras模块:TF 1.x版本的Keras是独立包,需通过keras或tensorflow.contrib.keras调用,tensorflow.keras是TF 2.x才整合进主包的模块。
  2. Python版本不兼容:TensorFlow 1.12.0仅支持Python 2.7、3.3-3.6,你当前用的Python 3.10.6超出支持范围,强制安装会引发依赖、模块缺失问题。
  3. 适配包冲突:tensorflow-macos和tensorflow-metal是针对TF 2.x+的macOS适配包,与TF 1.12完全不兼容,重装这些包会加剧环境混乱。

可行解决方案

方案1:升级TensorFlow到2.x兼容版本(推荐)

仓库代码大概率适配TF 2.x,操作步骤:

  • 卸载旧版本及冲突包:
    pip3 uninstall -y tensorflow tensorflow-macos tensorflow-metal keras
    
  • 安装适配macOS的TF 2.x稳定版:
    pip3 install tensorflow-macos tensorflow-metal
    
  • 验证安装:
    import tensorflow as tf
    print(tf.__version__)  # 应显示2.x版本,如2.15.x
    print(tf.keras.__version__)  # 正常输出则模块可用
    
  • 若代码存在TF 1.x语法报错,可在文件开头添加兼容代码:
    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    
    或手动替换TF 1.x API为TF 2.x对应写法。

方案2:降级Python并使用独立Keras(仅适配旧代码)

若必须使用TF 1.12,需调整Python版本:

  • 用conda创建Python 3.6虚拟环境:
    conda create -n waste-classifier python=3.6
    conda activate waste-classifier
    
  • 安装TF 1.12和对应版本的独立Keras:
    pip install tensorflow==1.12.0 keras==2.2.4
    
  • 修改代码中的导入路径:将from tensorflow.keras import ...替换为from keras import ...

方案3:使用仓库推荐的环境配置

查看仓库的requirements.txt或environment.yml文件,安装指定依赖:

  • 若存在requirements.txt:
    pip3 install -r requirements.txt
    
  • 若存在environment.yml:
    conda env create -f environment.yml
    conda activate <环境名>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 06:36:27