首页 > 解决方案 > ImportError:无法导入名称“input_reader_pb2”

问题描述

在win10 64位上工作

当我试图训练我的模型时E:\projectx\model-master\models-master>python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/ssd_mobilenet_v1_pets.config

出现这个错误

文件“train.py”,第 49 行,从 object_detection.builders 导入 dataset_builder 文件“C:\Users\DELL\AppData\Local\Programs\Python\Python36\lib\site-packages\object_detection-0.1-py3.6。 egg\object_detection\builders\dataset_builder.py”,第 27 行,从 object_detection.data_decoders 导入 tf_example_decoder 文件“C:\Users\DELL\AppData\Local\Programs\Python\Python36\lib\site-packages\object_detection-0.1- py3.6.egg\object_detection\data_decoders\tf_example_decoder.py",第 27 行,从 object_detection.protos import input_reader_pb2 ImportError: cannot import name 'input_reader_pb2'

我确实运行了 protoc 3.4 protoc object_detection/protos/*.proto --python_out=. ,但错误仍然存​​在我检查了所有东西,它应该很好并且可以工作,这让我发疯了!

请帮忙....谢谢

标签: pythontensorflowprotoc

解决方案


因为您已经在object_detection/protos/中编译了所有.proto文件。您应该会看到像eval_pb2这样具有“ _pb2 ”的 python 文件。如果您可以看到这些,请转到模型/研究目录并一一运行这些代码:

python setup.py build
python setup.py install

推荐阅读