2017-01-09 13 views
0

Я пытаюсь скомпилировать П.Б. файлов для КПГР вызовов Tensorflow Обслуживания (в PHP, но вопрос не PHP, связанное с)tensorflow обслуживания невозможной структуры прото файлов для КПГР интерфейса

Файл serving/tensorflow_serving/apis/predict.proto имеет:

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

Однако в обычном режиме настройки тензорного потока и тензорного потока не расположены в иерархии, которая имеет общую папку, из которой два импорта могут работать вместе.

Предполагая, что компиляция файлов proto в pb-файлах для grpc сохраняет hirarchy, она не может работать без определения функции tensorflow, работающей под/tensorflow /. Что мне здесь не хватает?

Какова наилучшая практика для компиляции pb-файлов для клиента grpc?

Другая проблема: если файлы pb создаются - они включают в себя импорт с той же гирархией, что и принудительная та же структура папок на клиенте ??? это противоречит смыслу GRPC, который представляет собой изоляцию и разделение между сущностями.

ответ

1

Я ничего не знаю о тензорном потоке, но я подхожу к проблеме с Просто-еще-protobuf-создание Точка зрения. Здесь https://github.com/tensorflow/serving я вижу как tensorflow_serving, так и подкатегорию tensorflow, которая является корнем вашей желаемой зависимости (то есть в ней есть другая подпапка tensorflow). Поэтому я предполагаю, что вы либо пропустили какой-то шаг конфигурации, который скопировал бы папку в правильное относительное местоположение, либо вы запустили неполную/неправильную командную строку protoc, т. Е. Вам не хватает

+0

Спасибо, Павел! Я этого не заметил! Я думаю ты прав. Я использую готовый AMI, который не имеет этой папки. и он, вероятно, не был построен правильно. – Nir

+0

На самом деле решение выше добавления папки в нужное место не решает проблему. зависимостей все еще не совпадают. – Nir

+0

Если 'tensorflow_serving/apis/model.proto' совпадает, а' tensorflow/core/framework/tensor.proto' не делает этого, предположим, что вы проверили подмодуль 'tensorflow', который должен быть рядом с папкой' tensorflow_serving' , затем попробуйте добавить '-I./tensorflow' в ваш вызов' protoc' –