在使用TensorFlow的object_detection模块问题记录:
- 配置:window10
- tensorflow-gpu
- protoc3.8版本下载地址:https://github.com/protocolbuffers/protobuf/releases
1. ImportError: No module named 'object_detection' 问题:
①将自己下载的models-master模块添加进去系统环境变量
②在F:\Anaconda\envs\自己环境下的\Lib\site-packages 这个文件夹目录下,写一个.pth文件,内容为两条路径
2.protoc.exe运行报错:
同样,将protoc.exe添加进系统环境变量
3."protoc object_detection/protos/*.proto --python_out=."命令错误:
object_detection/protos/*.proto: No such file or directory
4.cannot import name 'anchor_generator_pb2' from 'object_detection.protos
问题3和问题4都是属于下面对应的一系列*pb2.py文件没有生成成功
解决方法:
我的是protoc3.8版本,网上说下载protoc3.4版本就不会报错,但是我的还是有问题,最后我在github的issues找到了一个解决方法:
https://github.com/tensorflow/models/issues/2930
就是一个一个的CMD执行(直接复制下面的30行代码到CMD可以一次性全执行完)把 *.proto文件执行生成 ***pb2.py文件。
方便复制粘贴直接贴上:
protoc object_detection/protos/anchor_generator.proto --python_out=.
protoc object_detection/protos/argmax_matcher.proto --python_out=.
protoc object_detection/protos/bipartite_matcher.proto --python_out=.
protoc object_detection/protos/box_coder.proto --python_out=.
protoc object_detection/protos/box_predictor.proto --python_out=.
protoc object_detection/protos/calibration.proto --python_out=.
protoc object_detection/protos/eval.proto --python_out=.
protoc object_detection/protos/faster_rcnn.proto --python_out=.
protoc object_detection/protos/faster_rcnn_box_coder.proto --python_out=.
protoc object_detection/protos/grid_anchor_generator.proto --python_out=.
protoc object_detection/protos/hyperparams.proto --python_out=.
protoc object_detection/protos/image_resizer.proto --python_out=.
protoc object_detection/protos/input_reader.proto --python_out=.
protoc object_detection/protos/keypoint_box_coder.proto --python_out=.
protoc object_detection/protos/losses.proto --python_out=.
protoc object_detection/protos/matcher.proto --python_out=.
protoc object_detection/protos/mean_stddev_box_coder.proto --python_out=.
protoc object_detection/protos/model.proto --python_out=.
protoc object_detection/protos/multiscale_anchor_generator.proto --python_out=.
protoc object_detection/protos/optimizer.proto --python_out=.
protoc object_detection/protos/pipeline.proto --python_out=.
protoc object_detection/protos/post_processing.proto --python_out=.
protoc object_detection/protos/preprocessor.proto --python_out=.
protoc object_detection/protos/region_similarity_calculator.proto --python_out=.
protoc object_detection/protos/square_box_coder.proto --python_out=.
protoc object_detection/protos/ssd.proto --python_out=.
protoc object_detection/protos/ssd_anchor_generator.proto --python_out=.
protoc object_detection/protos/string_int_label_map.proto --python_out=.
protoc object_detection/protos/train.proto --python_out=.
测试是否成功:
python object_detection/builders/model_builder_test.py
参考文献:
object_detection配置相关:https://blog.csdn.net/Zlase/article/details/78734138