我当时正在使用TensorFlow为对象识别项目建立环境。编译一些.proto文件时,我碰壁了。它努力找到了文件路径,然后找到了protobuf应用程序的路径,然后继续为每个单独的proto文件命令-- python_out=.
!
我在做什么/正在尝试做什么: 遵循了(https://www.edureka.co/blog/tensorflow-object-detection-tutorial/#object)这个教程之后,我设法在edureka上完成了
进入Tensorflow文件夹,然后进入研究文件夹,并使用以下命令从此处运行protobuf:
"path_of_protobuf's bin"./bin/protoc object_detection/protos/
命令
C:\Users\yourusername\Desktop\TensorFlow\protoc-3.5.1-win32\bin\protoc object_detection/protos/anchor_generator.proto --python_out=.
C:\Users\yourusername\Desktop\TensorFlow\protoc-3.5.1-win32\bin\protoc object_detection/protos/argmax_matcher.proto --python_out=.
C:\Users\yourusername\Desktop\TensorFlow\protoc-3.5.1-win32\bin\protoc object_detection/protos/bipartite_matcher.proto --python_out=.
....依次类推,直到完成protos文件夹中的所有项目
所以这样做基本上是让我可以在每个原型文件下编译为.py文件。我确实有很多事情要做,所以要提高效率-如何循环执行此操作,以便一遍又一遍地遍历需要编译的原始文件来完成完全相同的任务?
答案 0 :(得分:0)
我能够按照以下步骤解决此问题:
Tensorflow\models\research
文件夹(路径可能因您而异)for %i in (object_detection\protos\*.proto) do protoc %i --python_out=.
将为此screenshot的.py
文件夹中的每个.proto
文件创建Tensorflow\models\research
文件
希望这会有所帮助。
答案 1 :(得分:0)
就我而言,进入研究目录后,我尝试了protoc object_detection/protos
。
然后,出现此错误:
Command 'protoc' not found, but can be installed with:
sudo snap install protobuf # version 3.6.0, or
sudo apt install protobuf-compiler
See 'snap info protobuf' for additional versions.`
因此,我通过键入以下内容安装必要的软件包:sudo apt install protobuf-compiler
其后为:protoc object_detection/protos/*.proto --py
最后,您可以检入“ object_detection”文件夹,并且可以看到已为该文件夹中的每个文件生成了一个.py文件。