Import Error: Cannot Import name input_reader_pb2
Import Error: Cannot Import name input_reader_pb2
我正在使用 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
我尝试通过网站和评论进行搜索,但不幸的是无法绕过,任何人都可以帮忙!
谢谢!
我找到了答案。我使用的是 protoc 版本 3.0.0(protobuf 编译器),它处于 beta 测试模式并且有一些错误。所以首先使用
检查 protobuf 版本
proto --version
如果是 libprotoc 3.0.0,清除它并安装 2.6.1
一旦完成,
cd models/research
protoc object_detection/ --python.out=.
现在它应该可以工作了!
解决评论中报的'Unknown flag'错误
使用 protoc object_detection/protos/*.proto --python_out=.
之前的答案拼错了 '. '在python'。'在
我正在使用 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
我尝试通过网站和评论进行搜索,但不幸的是无法绕过,任何人都可以帮忙!
谢谢!
我找到了答案。我使用的是 protoc 版本 3.0.0(protobuf 编译器),它处于 beta 测试模式并且有一些错误。所以首先使用
检查 protobuf 版本proto --version
如果是 libprotoc 3.0.0,清除它并安装 2.6.1 一旦完成,
cd models/research
protoc object_detection/ --python.out=.
现在它应该可以工作了!
解决评论中报的'Unknown flag'错误
使用 protoc object_detection/protos/*.proto --python_out=.
之前的答案拼错了 '. '在python'。'在