python - 使用protobuf编译时是否可以循环,将.proto文件转换为.py文件?
问题描述
我正在使用 TensorFlow 为对象识别项目设置环境。在编译一些 .proto 文件时,我碰壁了。努力找到文件的路径/然后找到 protobuf 应用程序的路径/然后继续-- python_out=.
为每个单独的 proto 文件发出命令!
我在做什么/试图做什么: 按照这个(https://www.edureka.co/blog/tensorflow-object-detection-tutorial/#object)教程之类的关于edureka的事情,我设法做到了:
- 将“models”和“protobuf”保存在“Tensorflow”文件夹下</li>
进入 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 文件夹中的所有项目
所以这基本上允许我在每个 proto 文件下编译为 .py 文件。我确实有更多的事情要做,所以为了提高工作效率——我如何循环这个来一遍又一遍地通过需要编译的原型文件来完成完全相同的任务?
解决方案
我能够按照以下步骤解决此问题:
- 导航到
Tensorflow\models\research
命令行中的文件夹(路径可能因您的情况而异) - 输入这个命令
for %i in (object_detection\protos\*.proto) do protoc %i --python_out=.
它将为文件夹中.py
的每个.proto
文件创建文件Tensorflow\models\research
,如此屏幕截图所示
希望这可以帮助。
推荐阅读
- typescript - 数据更新后使用 typescript 在 knockoutjs 中填充 obseravble 数组
- kubernetes - 如何将部署到 kind 集群的 K8s Dashboard 暴露出来?
- graphql - 使用 Next.js、Tailwind 和 AWS CLI 添加新的字段无服务器多用户博客平台
- c# - FirebaseAdmin 消息 IOS 问题
- reactjs - 打开选择而不单击子组件
- javascript - chartjs 3.6.0 添加 X 标签
- go - 执行包时如何更改
- python - Python程序在终端中工作,但在使用PyInstaller制作成EXE时不工作
- model - 领域模型建议
- python - 如何覆盖字典中的函数