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

TensorFlow中'import object_detection'模块找不到的问题求助

问题原因及解决方案

核心错误点

  1. sys.path 路径配置错误
    你添加到sys.path的是object_detection目录本身,但Python导入object_detection.utils时,需要找到包含object_detection的父目录(即research)——因为object_detection是research下的子模块,只有把research加入sys.path,Python才能识别它作为顶级模块。

  2. 路径写法无效
    你写的"...models\research\object_detection\"存在两个问题:

    • ...是无效的路径前缀,无法正确指向目标目录;
    • Windows下的反斜杠\在Python字符串中需要转义为\\,或者直接使用正斜杠/(跨平台更安全)。
  3. 不必要的工作目录切换
    切换工作目录到object_detection不仅没必要,还可能打乱脚本中其他相对路径的逻辑,且无法解决模块导入的核心问题。

修正后的代码

import sys
import os

# 获取当前脚本的绝对路径所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 构建models/research的绝对路径(脚本在NAR_object_detection,与models同级)
research_path = os.path.join(script_dir, '../models/research')
# 将research目录添加到sys.path(必须)
sys.path.append(os.path.abspath(research_path))
# 若存在slim目录,也需添加(TensorFlow Object Detection通常依赖该目录)
slim_path = os.path.join(research_path, 'slim')
sys.path.append(os.path.abspath(slim_path))

# 现在执行导入
from object_detection.utils import label_map_util

补充说明

  • 使用绝对路径替代相对路径:通过os.path.abspath和__file__构建绝对路径,能避免因工作目录变化导致的路径错误。
  • 必须添加slim目录:TensorFlow Object Detection的部分模块依赖slim(位于research目录下),若遗漏会引发其他导入错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:55:19