我将其提交给Stack Overflow,而不是作为Tensorflow问题,因为基于提交给Tensorflow的问题(例如here),人们可以越过我所处的困境。我以Tensorflow问题格式提交的原因不是因为我是从自己的帖子中复制粘贴,而是亲爱的读者让我明白你的问题。预先非常感谢您的帮助。
您正在使用的模型的顶级目录是什么: lstm_object_detection
我是否编写了自定义代码(与使用TensorFlow中提供的股票示例脚本相反:否
OS平台和发行版(例如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
要复制的精确命令: prostc lstm_object_detection / protos / *。proto --python_out =。
我正在尝试编译this文件夹中的原型文件,该文件夹是lstm_object_detection的一部分,最终将与Tensorflow Object Detection API一起使用。根据对象检测API安装object_detection,我能够在instructions文件夹中编译原始文件。对象检测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.
非常清楚,我的shell命令是从... / tensorflow / models / research执行的:
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中将其添加到Anaconda路径中。我也尝试将其添加到我的PYTHONPATH中,尽管这不会造成任何变化,因为Anaconda不使用PYTHONPATH。
问题:如何在protos / protos子目录之外获取这些protos进行编译?
为了社区的利益,在本(答案)部分中提及解决方案(即使它在评论部分中也有提及)。>
正确的命令是,
protoc lstm_object_detection/protos/*.proto --python_out=.