protoc object_detection/protos/*.proto:没有这样的文件或目录

2024-05-23 17:36:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在遵循找到的示例here。 但是每当我输入命令“C:/Program Files/protoc/bin/protoc”object_detection/protos/.proto--python_out=。 我得到一个错误,上面写着object_detection/protos/。proto:没有这样的文件或目录。 我无法创建名为*.proto的目录。所以我错过了一些关于如何做到这一点的基本信息。既然我找不到其他人抱怨这个问题,那一定很简单。 我使用的是windows操作系统。


Tags: 文件命令目录示例binhereobject错误
3条回答

在Windows下求解,进入“研究”,并在path中使用“protoc”,则这将起作用:

for /f %i in ('dir /b object_detection\protos\*.proto') do protoc object_detection\protos\%i --python_out=.

祝你好运!

请确保将目录更改为“models\research”,并尝试使用protoc 3.4.0版完成教程中的步骤,就像教程中一样。我只用3.4.0为我工作。

我的命令行工作:

C:\Users\...\protoc-3.4.0-win32\bin\protoc object_detection/protos/*.proto --python_out=.

我会把这些问题贴出来让大家知道。不管怎样,我以后都得给自己和别人写这些说明。

以下各项在某种程度上起作用,但在某种程度上不起作用:

protoc object_detection/protos/*.proto --python_out=.

指定所有文件的*.proto对编译器不起作用。如果您使用的是版本3.5,则必须指定每个文件

在这里它看起来是什么样子的:

  1. 运行命令
  2. 将目录更改为下载的研究文件夹(可能不同):

    cd /d C:\Users\yourusername\Desktop\TensorFlow\models-master\models-master\research
    
  3. 获取下载的protroc.exe文件的位置

    C:\Users\yourusername\Desktop\TensorFlow\protoc-3.5.1-win32\bin\protoc 
    
  4. 转到protos文件夹,这样您就知道需要单独执行哪些文件

    C:\Users\yourusername\Desktop\TensorFlow\models-master\models-master\research\object_detection\protos
    
  5. 现在开始给每个人发垃圾邮件。proto文件夹中的项目 命令:

    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=.
    ....and so on until you finish all items in the protos folder
    
  6. 或者你可以一天一次,得到3.4然后跑:

    C:\Users\yourusername\Projects\TensorFlow\protoc-3.5.1-win32\bin\protoc object_detection/protos/*.proto --python_out=.
    

如果我能再澄清一些,请告诉我。我尽量说清楚,这样像我这样的白痴才能理解。

相关问题 更多 >