小能豆

ModuleNotFoundError:没有名为“utils”的模块

py

我正在尝试使用我的网络摄像头作为输入在 Tensorflow 中运行 object_detection API。

错误提示:“从 utils 导入 label_map_util ModuleNotFoundError:没有名为‘utils’的模块”

与以下几行相关:

from utils import label_map_util
from utils import visualization_utils as vis_util

我尝试过“pip install util”,它似乎有效,但不能解决问题。我还重新安装了多个版本的 protobuf,因为网上的其他问题似乎都用这个作为解决方案。安装 protoc 时我没有收到任何错误,所以我不认为这是问题所在。

我在 Windows 10 上带有 tensorflow-gpu 使用 python 3.6。


阅读 14

收藏
2024-11-11

共1个答案

小能豆

该错误ModuleNotFoundError: No module named 'utils'表明 Python 找不到utils您尝试导入的模块。在 TensorFlow 的对象检测 API 上下文中,该utils模块不是您通过 安装的单独包pip。相反,它是 Python 文件的集合,是对象检测 API 本身的一部分。

解决此问题的方法如下:

解决方案:安装 TensorFlow 对象检测 API

  1. 克隆 TensorFlow 模型存储库(如果还没有):

首先,确保您已克隆 TensorFlow 模型存储库。此存储库包含utils您要导入的模块。

打开终端或命令提示符并运行:

git clone https://github.com/tensorflow/models.git cd models

  1. 安装依赖项

安装必要的依赖项。你可以使用以下命令安装它们pip

pip install -r requirements.txt

  1. 安装对象检测 API

在该models目录中,运行以下命令来安装对象检测 API:

# From the 'models' directory pip install .

  1. 检查utils模块现在是否可用

utils模块是 TensorFlow 模型存储库的一部分,具体位于research目录中。按照上述步骤操作后,运行代码时应该可以访问它。

您可以尝试在 Python 中运行以下命令来测试该模块是否可用:

from object_detection.utils import label_map_util from object_detection.utils import visualization_utils as vis_util

如果您没有看到任何导入错误,则表示模块已成功安装。

  1. 确保PYTHONPATH设置正确

如果问题仍然存在,您可能需要将models/research目录添加到您的PYTHONPATH。您可以通过在终端中运行以下命令来临时执行此操作:

set PYTHONPATH=%cd%\models\research;%cd%\models\research\slim

或者,您可以将其添加到您的环境变量中或直接添加到您的 Python 脚本中,使用以下命令:

import sys sys.path.append('path_to_your_models/research')

最后的想法:

  • 确保您已经克隆了完整的存储库,而不仅仅是object_detection文件夹。
  • utils模块是 TensorFlow 模型库的一部分,因此您无法通过 安装它pip install utils
  • 仔细检查您使用的 Python 环境是否正确,其中安装了 TensorFlow 和对象检测 API。
2024-11-11