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

运行TensorFlow Object Detection训练脚本遇ModuleNotFoundError求助

解决TensorFlow Object Detection的ModuleNotFoundError问题

别着急,你遇到的ModuleNotFoundError: No module named 'object_detection'问题,核心是路径配置不全加上可能漏掉了关键的protobuf编译步骤,我给你一步步理清楚:

1. 修正Python路径配置

你之前只把object_detection目录加到了sys.path,但Python需要找到它的父目录research才能识别object_detection作为一个合法模块。另外,还要把research/slim目录也加进去(这是API依赖的子模块)。修改你的导入代码为:

import sys
# 注意:这里加的是research目录,不是object_detection
sys.path.append('/home/user/Documents/imgmlreport/inception/models/research')
sys.path.append('/home/user/Documents/imgmlreport/inception/models/research/slim')

from object_detection.builders import dataset_builder

2. 必须执行Protobuf编译步骤

TensorFlow Object Detection API使用Protocol Buffers(protobuf)定义配置文件,你必须先把这些.proto文件编译成Python模块,否则即使路径对了也会报错。

打开终端,切换到research目录下,运行以下命令:

Linux/macOS:

protoc object_detection/protos/*.proto --python_out=.

Windows:

先确保你已经安装了protobuf编译器,然后在命令行中运行:

protoc object_detection/protos/*.proto --python_out=.

3. 验证配置是否生效

打开Python终端,输入以下代码测试:

from object_detection.builders import dataset_builder

如果没有报错,说明路径和编译都没问题了,再去运行train.py就应该能正常识别模块了。

额外优化:永久配置Python路径

如果你不想每次运行脚本都手动添加路径,可以把research和slim目录加入系统的PYTHONPATH环境变量:

Linux/macOS:

在终端运行以下命令(临时生效):

export PYTHONPATH=$PYTHONPATH:/home/user/Documents/imgmlreport/inception/models/research:/home/user/Documents/imgmlreport/inception/models/research/slim

如果想永久生效,把上面的命令添加到~/.bashrc(bash终端)或~/.zshrc(zsh终端)文件末尾,保存后重启终端即可。

Windows:

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  2. 在「系统变量」里点击「新建」,变量名填PYTHONPATH,变量值填两个目录的路径,用分号分隔:
    C:\你的路径\inception\models\research;C:\你的路径\inception\models\research\slim
    
  3. 点击确定,重启命令行工具生效。

内容的提问来源于stack exchange,提问作者송준석

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:58:39