Search code examples
pythontensorflowobject-detection-api

Error running export_inference_graph.py in Object Detection API


When i run export_inference_graph.py with the correct paths from the object_detection folder, or from the models/research folder like this:

python export_inference_graph \    # object_detection/ (if from /research)
    --input_type image_tensor \
    --pipeline_config_path path/to/ssd_inception_v2.config \
    --trained_checkpoint_prefix path/to/model.ckpt \
    --output_directory path/to/exported_model_directory

then i got following error:

  File "object_detection/export_inference_graph.py", line 71, in <module>
    from object_detection import exporter
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/models/research/object_detection/exporter.py", line 28, in <module>
    from object_detection.builders import model_builder
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/models/research/object_detection/builders/model_builder.py", line 17, in <module>
    from object_detection.builders import anchor_generator_builder
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/models/research/object_detection/builders/anchor_generator_builder.py", line 20, in <module>
    from object_detection.protos import anchor_generator_pb2
ImportError: cannot import name anchor_generator_pb2

Inside anchor_generator_builder.py it tries to import anchor_generator_pb2 but a file with this name does not exist.

Additional Info: - Yes i added the libraries with:

 # From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

- Yes i pulled the latest tensorflow/models version

Please tell me how to properly export a new Frozen Graph, i think this should be really easy, but it stops my whole work.

Thank you guys in advance


Solution

  • Ok, case closed.

    I forgot to do the Protobuf compilation.

    # From tensorflow/models/research/
    protoc object_detection/protos/*.proto --python_out=.
    

    Sorry guys, my bad