【发布时间】: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