1 背景
使用TensorFlow Object Detection API的時,在object_detection/protos/中,可以看到一些proto 文件,需要使用protoc程序將這些proto文件編譯為Python 文件。TensorFlow Object Detection API必須使用2.6.0以上的protoc 進行編譯,否則會報錯。可以使用命令protoc
--version 查看protoc的版本。如果發現版本低於2.6.0或運行命令錯誤,就需要安裝或升級 protoc。
安裝或升級的方法是登錄protobuf的發布頁面下載已經編譯好的文件包。根據自己的機器,下載對應的版本。下載解壓之后。需要將bin
目錄下的protoc.exe
文件拷貝到系統的可執行目錄。我是在windows下進行的,所以,將該文件拷貝到C:windows\
目錄下即可。
2 問題描述
使用protoc對proto 文件進行編譯,運行下面的命令:
protoc object_detection\protos\*.proto --python_out=.
報如下錯誤:
object_detection/protos/*.proto: No such file or directory
3 問題解決
分析:在windows下,3.5版本以上的protobuf運行的時候確實會出現這樣的問題,可以理解為bug。
解決:3.4 版本可以完美運行。可以點擊這里下載。