当前位置: 首页 > 知识库问答 >
问题:

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

景修杰
2023-03-14

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

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

>

  • 将“模型”和“原型”保存在一个文件夹“Tensorflow”下
  • 进入Tensorflow文件夹,然后进入研究文件夹,并使用以下命令从那里运行Pro buf:

    <代码>“path\u of\u protobuf’s bin”/bin/protoc object\u 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=.
    

    ......依此类推,直到您完成原型文件夹中的所有项目

    所以这基本上允许我在每个原型文件下编译为. py文件。我碰巧有更多的命令要执行,所以为了提高生产力——我如何在需要编译的原型文件中一遍又一遍地循环执行完全相同的任务?

  • 共有2个答案

    葛鸿熙
    2023-03-14

    在我的情况下,一旦我进入研究目录,我就尝试了protoc object\u 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编译器来安装必要的包

    其次是:协议object_detection/协议/*. proto--py

    最后,您可以签入“object\u detection”文件夹,您可以看到。已为该文件夹中的每个文件生成py文件。

    锺离韬
    2023-03-14

    我通过以下步骤解决了此问题:

    1. 在命令行中导航到Tensorflow\模型\研究文件夹(路径可能因您的情况而异)
    2. 输入此命令为%i在(object_detection\原型\*. proto)做原型%i--python_out=.

    它将为Tensorflow\模型\研究文件夹中的每个. py文件创建文件

    希望这有帮助。

     类似资料: