在tensorflow / models / research中编译.proto(不是/ object_detctio

问题描述 投票:4回答:1

我将其提交给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进行编译?

python tensorflow protocol-buffers object-detection-api
1个回答
0
投票

为了社区的利益,在本(答案)部分中提及解决方案(即使它在评论部分中也有提及)。>

正确的命令是,

protoc lstm_object_detection/protos/*.proto --python_out=.
© www.soinside.com 2019 - 2024. All rights reserved.