【问题标题】:Tensorflow Object Detection API / ImportError: cannot import name 'keypoint_box_coder_pb2'Tensorflow 对象检测 API / ImportError:无法导入名称'keypoint_box_coder_pb2'
【发布时间】:2018-04-20 01:07:11
【问题描述】:

我按照说明 (https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md) 安装了 Tensorflow 对象检测 API。我在 Windows 10 上使用 Anaconda,说明中的所有步骤似乎都可以完成。

但是当尝试运行 python object_detection/builders/model_builder_test.py 来测试安装时,我得到:ImportError: cannot import name 'keypoint_box_coder_pb2'

我错过了什么?

(tensorflow) C:\Users\User\Documents\GitHub\models\research>python object_detection/builders/model_builder_test.py Traceback(最近 最后调用):文件“object_detection/builders/model_builder_test.py”, 第 21 行,在 从 object_detection.builders 导入 model_builder 文件“C:\Users\User\New\Anaconda3\envs\tensorflow\lib\site-packages\object_detection-0.1-py3.5.egg\object_detection\builders\model_builder.py”, 第 18 行,在 从 object_detection.builders 导入 box_coder_builder 文件“C:\Users\User\New\Anaconda3\envs\tensorflow\lib\site-packages\object_detection-0.1-py3.5.egg\object_detection\builders\box_coder_builder.py”, 第 21 行,在 从 object_detection.protos 导入 box_coder_pb2 文件“C:\Users\User\New\Anaconda3\envs\tensorflow\lib\site-packages\object_detection-0.1-py3.5.egg\object_detection\protos\box_coder_pb2.py”, 第 17 行,在 ImportError: cannot import name 'keypoint_box_coder_pb2'

【问题讨论】:

  • 在启动测试之前,您似乎没有在同一终端中运行export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim (来自 tensorflow/models/research 文件夹),是吗?如果您选择了 .bashrc 选项,您可能需要使用 . ~/.bashrc 重新加载您的 bshrc 文件

标签: python-3.x tensorflow anaconda


【解决方案1】:

你好像没有跑

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim     # (from tensorflow/models/research folder) 

在启动测试之前在同一个终端中,你有吗?如果您选择了 .bashrc 选项,您可能需要使用 . ~/.bashrc 重新加载您的 bshrc 文件

【讨论】:

  • 我在 Windows 10 中,所以我尝试将 tensorflow/models/research/ 和 slim 目录附加到 PYTHONPATH 并设置 PYTHONPATH=C:\Users\User\Documents\GitHub\models; C:\Users\User\Documents\GitHub\models\slim 这似乎有效,我检查了它: python -c "import sys; print(sys.path)" 并得到: ['', 'C:\\\\ Users\\User\\Documents\\GitHub\\models','C:\\Users\\User\\Documents\\GitHub\\models\\slim',...]。但是当我尝试运行 model_builder_test.py 时,我现在得到: python: can't open file 'object_detection/builders/model_builder_test.py': [Errno 2] No such file or directory。
【解决方案2】:

我让它工作了。我所做的是:

我跑了:

protoc --python_out=. .\object_detection\protos\anchor_generator.proto .\object_detection\protos\argmax_matcher.proto .\object_detection\protos\bipartite_matcher.proto .\object_detection\protos\box_coder.proto .\object_detection\protos\box_predictor.proto .\object_detection\protos\eval.proto .\object_detection\protos\faster_rcnn.proto .\object_detection\protos\faster_rcnn_box_coder.proto .\object_detection\protos\grid_anchor_generator.proto .\object_detection\protos\hyperparams.proto .\object_detection\protos\image_resizer.proto .\object_detection\protos\input_reader.proto .\object_detection\protos\keypoint_box_coder.proto .\object_detection\protos\losses.proto .\object_detection\protos\matcher.proto .\object_detection\protos\mean_stddev_box_coder.proto .\object_detection\protos\model.proto .\object_detection\protos\optimizer.proto .\object_detection\protos\pipeline.proto .\object_detection\protos\post_processing.proto .\object_detection\protos\preprocessor.proto .\object_detection\protos\region_similarity_calculator.proto .\object_detection\protos\square_box_coder.proto .\object_detection\protos\ssd.proto .\object_detection\protos\ssd_anchor_generator.proto .\object_detection\protos\string_int_label_map.proto .\object_detection\protos\train.proto

缺少的是:.\object_detection\protos\keypoint_box_coder.proto

然后跑:

python setup.py build
python setup.py install

然后改变: netsresearch.slim.netfaster_rcnn_inception_resnet_v2_feature_extractor.pyfaster_rcnn_resnet_v1_feature_extractor.py(在模型文件夹中)

跑:

python object_detection/builders/model_builder_test.py

得到:

Ran 11 tests in 0.195s

好的

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 2021-03-26
    • 2021-08-27
    • 2022-12-25
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2014-10-10
    • 2014-09-20
    相关资源
    最近更新 更多