tensorflow为grpc接口提供不可能的proto文件结构

时间:2017-01-09 20:15:05

标签: tensorflow grpc protocol-buffers tensorflow-serving

我试图为GRPC调用编译pb文件到Tensorflow服务(在php中,但问题不是与PHP有关)

文件serving/tensorflow_serving/apis/predict.proto包含:

import "tensorflow/core/framework/tensor.proto";
import "tensorflow_serving/apis/model.proto";

然而,在正常设置中,tensorflow和tensorflow服务不在具有公共文件夹的层次结构中,两个导入可以从这个文件夹一起工作。

假设将原型文件编译为grpc的pb文件可以保持hirarchy,如果没有在/ tensorflow /下定位tensorflow,它就无法工作。我在这里缺少什么?

为grpc客户端编译pb文件的最佳做法是什么?

另一个问题:如果创建了pb文件 - 它们包含具有相同hirarchy的导入,那么它将在客户端上强制使用相同的文件夹结构???这违背了GRPC的含义,即实体之间的隔离和分离。

1 个答案:

答案 0 :(得分:1)

我对tensorflow一无所知,但我从 just-another-protobuf-creation 的角度来解决这个问题。这里https://github.com/tensorflow/serving我看到tensorflow_serving子模块 tensorflow这是您所需依赖关系的根(即它有另一个tensorflow其中的子文件夹)。所以我想你错过了一些配置步骤,这会将文件夹复制到正确的相对位置,或者你运行的是一个不完整/不正确的protoc命令行,即你缺少一些-I <path>