当我尝试使用代码使用 tensorflow/models 存储库训练我的 train.py 进行对象检测时
python train.py --logtostderr --train_dir=training_dir/ --pipeline_config_path=training/faster_rcnn_inception_resnet_v2_atrous_pets.config
我无法运行此命令。
我已尝试将所有文件包含在 object_detection 中,并尝试删除 object_detection。在 from 声明中,但它没有用。
import functools
import json
import os
import tensorflow as tf
from object_detection.builders import dataset_builder
from object_detection.builders import graph_rewriter_builder
from object_detection.builders import model_builder
from object_detection.legacy import trainer
from object_detection.utils import config_util
Traceback (most recent call last):
File "C:/Users/varsh/Documents/models/research/object_detection/train.py", line 49, in <module>
from object_detection.builders import dataset_builder
ModuleNotFoundError: No module named 'object_detection'
请您参考如下方法:
我已经在我的系统 (windows 10) 中解决了这个问题。解决方案不是很直接,但是:
1) 首先你需要克隆 Tensorflow Object Detection API 存储库 https://github.com/tensorflow/models .
2) 按照https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md中提供的安装进行操作
3) 第二步需要编译protobuf库,所以在https://github.com/google/protobuf/releases/latest下载protobuf编译器(在撰写本文时 (3.5.1),protoc 中存在一个可能与 Windows 环境相关或无关的错误,我的解决方案是使用 protoc v 3.4.0) 4) 将/research/和/research/slim 目录添加到PYTHONPATH 环境变量中(如果您还没有添加PYTHONPATH,请不要忘记将PYTHONPATH 添加到Path 中。
5) 不再有 ModuleNotFoundError: No module named 'object_detection'
