【问题标题】:Import Error: Cannot Import name input_reader_pb2导入错误:无法导入名称 input_reader_pb2
【发布时间】:2018-09-22 12:42:47
【问题描述】:

我正在使用 Tensorflow 对象检测 API 来训练我的对象检测模型。我积累了数据集,正在学习this 教程。

在我尝试训练我的数据集之前一切都很好。当我在终端上运行以下行时,

python train.py --logtostderr \ 
   --train_dir=training/ \       
--pipeline_config_path=training/ssd_mobilenet_v1_coco.config 

我收到以下错误

Traceback (most recent call last):
File "legacy/train.py", line 49, in <module>
from object_detection.builders import dataset_builder
File "/usr/local/lib/python2.7/dist-packages/object_detection-0.1- 
py2.7.egg/object_detection/builders/dataset_builder.py", line 27, in 
<module>
from object_detection.data_decoders import tf_example_decoder
File "/usr/local/lib/python2.7/dist-packages/object_detection-0.1- 
py2.7.egg/object_detection/data_decoders/tf_example_decoder.py", line 
24, in <module>
from object_detection.protos import input_reader_pb2
ImportError: cannot import name input_reader_pb2

我尝试通过网站和 cmets 进行搜索,但很遗憾无法找到,谁能帮忙!

谢谢!

【问题讨论】:

    标签: python tensorflow object-detection training-data


    【解决方案1】:

    我想出了答案。我使用的是 protoc 版本 3.0.0(protobuf 编译器),它处于 beta 测试模式并且有一些错误。所以首先检查 protobuf 版本使用

    proto --version
    

    如果是 libprotoc 3.0.0,清除它并安装 2.6.1 完成后,

    cd models/research
    protoc object_detection/ --python.out=.
    

    现在应该可以了!

    【讨论】:

    • 未知标志:--python.out
    【解决方案2】:

    解决评论中报告的“未知标志”错误 使用protoc object_detection/protos/*.proto --python_out=. 上一个答案拼错了'。 '在python中'.'out

    【讨论】:

    • 需要一个解释来解释你的命令是做什么的以及为什么它是必要的。
    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 2021-02-19
    • 2014-01-29
    • 2016-11-21
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    相关资源
    最近更新 更多