使用 protobuf 编译时是否可以循环,将 .proto 文件转换为 .py 文件?

我正在使用 TensorFlow 为对象识别项目设置环境。当谈到编译一些 .proto 文件时,我碰壁了。找到文件的路径 / 然后找到 protobuf 应用程序的路径 / 然后继续-- python_out=.为每个 proto 文件命令!


我在做什么/试图做什么: 按照这个(https://www.edureka.co/blog/tensorflow-object-detection-tutorial/#object)教程之类的关于edureka的事情我设法:


将“模型”和“protobuf”放在一个文件夹“Tensorflow”下

进入 Tensorflow 文件夹,然后进入 research 文件夹并使用以下命令从那里运行 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 文件夹中的所有项目


所以这基本上允许我在每个 proto 文件下编译为 .py 文件。我碰巧还有很多事情要做,所以为了提高生产力 - 我怎样才能通过需要编译的 proto 文件循环它来一遍又一遍地执行完全相同的任务?


慕雪6442864
浏览 384回答 2
2回答

慕桂英4014372

就我而言,一旦我进入研究目录,我就尝试protoc object_detection/protos. 然后,出现了这个错误:Command 'protoc' not found, but can be installed with:sudo snap install protobuf           # version 3.6.0, orsudo apt  install protobuf-compilerSee 'snap info protobuf' for additional versions.`因此,我通过键入以下内容来安装必要的软件包: sudo apt install protobuf-compiler其次是: protoc object_detection/protos/*.proto --py最后,您可以检查“object_detection”文件夹,您可以看到已经为该文件夹中的每个文件生成了一个 .py 文件。

慕桂英3389331

我能够按照以下步骤解决此问题:导航到Tensorflow\models\research命令行中的文件夹(路径可能因您的情况而异)输入这个命令 for %i in (object_detection\protos\*.proto) do protoc %i --python_out=.它将.py为.proto文件Tensorflow\models\research夹中的每个文件创建文件
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python