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

使用摄像头运行TensorFlow Object Detection API时出现utils模块未找到错误

解决TensorFlow Object Detection API中ModuleNotFoundError: No module named 'utils'的问题

我来帮你搞定这个头疼的问题!你遇到的这个错误根本不是因为缺少第三方包,而是Python找不到TensorFlow Object Detection API自带的utils模块——你装的util包和API里的utils完全是两码事,重装protobuf也没切中要害。下面给你一步步的解决方案:

核心原因

TensorFlow Object Detection API的utils文件夹是API自带的(位于object_detection目录下),但Python默认不会把API的目录加入搜索路径,所以运行脚本时会找不到这个模块。

具体解决方案

1. 清理无用的第三方包

你之前装的util包完全没用,甚至可能干扰环境,先卸载它:

pip uninstall -y util

2. 编译API的protobuf文件

这是很多人会漏掉的关键步骤:在Object Detection API的research目录下,编译所有proto文件生成对应的Python模块:

# 先切换到你的research文件夹路径,比如:
cd /path/to/your/tensorflow/models/research
# 执行编译命令
protoc object_detection/protos/*.proto --python_out=.

如果提示protoc命令找不到,说明你没安装protobuf编译器,Linux用户可以用sudo apt install protobuf-compiler安装,Windows/Mac用户可以下载对应系统的二进制包配置到环境变量。

3. 把API目录加入Python路径

有两种方式,选一种就行:

方式一:在脚本开头添加路径配置

在你的检测脚本最顶部加入以下代码,替换成你自己的research文件夹绝对路径:

import sys
import os

# 替换成你本地的research文件夹路径,比如 "/home/yourname/tensorflow/models/research"
RESEARCH_DIR = "/path/to/your/tensorflow/models/research"
sys.path.append(RESEARCH_DIR)
sys.path.append(os.path.join(RESEARCH_DIR, "slim"))

方式二:设置系统环境变量

每次运行脚本前,先在终端执行以下命令(替换成你的实际路径):

export PYTHONPATH=$PYTHONPATH:/path/to/your/tensorflow/models/research:/path/to/your/tensorflow/models/research/slim

如果想永久生效,可以把这行命令加入你的~/.bashrc(Linux)或者~/.zshrc(Mac)文件。

4. 验证路径是否生效

可以在脚本里加入一行打印,确认路径已经被正确添加:

import sys
print(sys.path)

运行后检查输出里有没有包含你的research和slim目录。

为什么之前的方法没用?

  • pip install util:这个包是一个无关的工具库,和TensorFlow Object Detection API自带的utils没有任何关系,所以完全解决不了问题。
  • 重装protobuf:protobuf确实是API依赖,但问题不在版本,而是你没编译API的proto文件,光重装包没用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:43:28