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

Windows环境实时目标检测报错:No module named 'tensorflow.compat.v1'

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

嘿,这个问题有点意思——你明明装了TensorFlow 1.9,却碰到了只有TF2才会用的tensorflow.compat.v1导入报错。咱来一步步排查解决:

1. 先确认你跑脚本的环境真的装了TF1.9

很多人会同时有好几个Python环境(比如系统默认的、虚拟环境、Anaconda环境),大概率你运行脚本的环境和装TF1.9的不是同一个。

  • 打开命令行,跑这个命令看看当前环境的TF版本:
    python -c "import tensorflow; print(tensorflow.__version__)"
    
  • 如果输出不是1.9.0,那就是环境错了。赶紧切换到装了TF1.9的环境:
    • 虚拟环境的话,用venv\Scripts\activate激活(把venv换成你的虚拟环境名)
    • Anaconda环境就用conda activate 你的环境名

2. 直接修改label_map_util的导入语句

要是你的环境确实是TF1.9,但这个工具文件用了TF2的兼容写法,那改一行代码就行:

  • 打开C:\Users\1rock\Documents\TensorFlow\models\research\object_detection\utils\label_map_util.py
  • 找到第27行的import tensorflow.compat.v1 as tf,换成:
    import tensorflow as tf
    
  • 保存后再跑脚本试试。TF1.x本身不需要compat.v1这个兼容层,直接导入tf就够了。

3. 检查models仓库的分支是否匹配TF1.9

你下载的models仓库可能是默认的main分支(对应TF2.x),而TF1.x得用旧分支才行:

  • 进到你的models目录:cd C:\Users\1rock\Documents\TensorFlow\models
  • 看看当前分支:git branch
  • 如果不是TF1.x的分支,切换到对应的版本,比如:
    git checkout r1.9
    
  • 切换后记得重新跑一遍教程里编译protoc的步骤,再测试脚本。

4. 清缓存后重新装TF1.9

有时候pip缓存会搞事情,导致安装不完整,试试彻底重装:

pip cache purge
pip install --ignore-installed --upgrade tensorflow==1.9

装完再确认一遍TF版本,确保没问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:31:18