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