【问题标题】:Compiling .proto in tensorflow/models/research (not /object_detctio在 tensorflow/models/research 中编译 .proto(不是 /object_dectio
【发布时间】:2019-08-01 05:08:57
【问题描述】:

我将其提交给 Stack Overflow,而不是作为 Tensorflow 问题,因为根据提交给 Tensorflow 的问题(例如here),人们能够克服我遇到的困难。我以 Tensorflow 问题格式提交的原因不是因为我从那里的帖子中复制粘贴,而是为了让您清楚我的问题,亲爱的读者。非常感谢您的帮助。

系统信息

你正在使用的模型的顶层目录是什么: lstm_object_detection

我是否编写了自定义代码(而不是使用 TensorFlow 中提供的股票示例脚本):没有

操作系统平台和发行版(例如,Linux Ubuntu 16.04): Ubuntu 18.04

Python 版本: 3.6.7

Anaconda 版本: 4.6.7

TensorFlow 安装自(源代码或二进制文件): 二进制文件

TensorFlow 版本(使用下面的命令): 1.10.0(也尝试使用 1.12)

Bazel 版本(如果从源代码编译): N/A

CUDA/cuDNN 版本: 10.0(使用 Tensorflow 1.12 时为 9.2)

GPU 型号和内存: GTX 2080 ti, 11gb

重现的确切命令: protoc lstm_object_detection/protos/*.proto --python_out=.

说明

我正在尝试编译 this 文件夹中的 proto 文件,该文件夹是 lstm_object_detection 的一部分,最终将与 Tensorflow Object Detection API 一起使用。根据对象检测 API 安装 instructions,我能够编译 object_detection 文件夹中的 proto 文件。对象检测 API 测试通过。可悲的是,当我执行编译 lstm_object_detection 原型的类似指令时,出现以下错误。

object_detection/protos/input_reader.proto: File not found.
protos/input_reader_google.proto: Import "object_detection/protos/input_reader.proto" was not found or had errors.
protos/input_reader_google.proto:8:10: "object_detection.protos.ExternalInputReader" is not defined.

为了清楚起见,我从 .../tensorflow/models/research 执行的 shell 命令是:

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

我只是为了踢球:

protoc \
    lstm_object_detection/protos/*.proto \
    --python_out=lstm_object_detection/protos/

我想可能 lstm_object_detection 没有看到我的 object_detection 文件夹,所以我通过在 models/research/ 中执行 conda develop . 将它添加到我的 Anaconda 路径中,以防万一也在 models/research/object_detection 中。我也尝试将它添加到我的 PYTHONPATH 中,尽管这不应该有所作为,因为 Anaconda 不使用 PYTHONPATH。

问题:如何让这些 protos 在 object_detection/protos 子目录之外进行编译?

【问题讨论】:

  • 您可能需要升级您的 protoc 版本(使用“protoc --version”检查它)。确保您的 protoc 版本大于 3.2。也请看看这个issue,如果有帮助,请告诉我。
  • 您好,感谢您的跟进,对于迟到的回复,我深表歉意。我有一段时间没有处理这个问题,但是这个周末我会实施你的建议并回复你。
  • 更新:现在可以使用了! ???谢谢你的帮助。命令是``` protoc \ lstm_object_detection/protos/*.proto \ --python_out=。 ``` 在原始问题中,protoc 的参数不正确。

标签: python tensorflow protocol-buffers object-detection-api


【解决方案1】:

为了社区的利益,在此(答案)部分(即使它出现在评论部分)中提及解决方案。

正确的命令是,

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

【讨论】:

    猜你喜欢
    • 2021-06-20
    • 1970-01-01
    • 2019-08-16
    • 2016-03-24
    • 2018-01-07
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多