Как обслуживать модель тензорного потока, используя тензор потока / обслуживание изображения докера, когда существуют пользовательские операции? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь использовать операцию tf-предложений в моей модели, найденной здесь https://github.com/google/sentencepiece/tree/master/tensorflow

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

Loading servable: {name: model version: 1} failed: 
Not found: Op type not registered 'SentencepieceEncodeSparse' in binary running on 0ccbcd3998d1. 
Make sure the Op and Kernel are registered in the binary running in this process. 
Note that if you are loading a saved graph which used ops from tf.contrib, accessing 
(e.g.) `tf.contrib.resampler` should be done before importing the graph, 
as contrib ops are lazily registered when the module is first accessed.

Я не знаю, как создать что-либо вручную, и надеялся, что смогу сделать это без особых изменений.

1 Ответ

0 голосов
/ 18 октября 2018

Один из подходов заключается в следующем:

  1. Извлечь образ разработки докера

    $ Тензор потока / обслуживание Docker: latest-devel

  2. В контейнере внесите изменения в код

    $ docker run -it tenorflow / serve: latest-devel

Измените код, чтобы добавить зависимость op здесь .

В контейнере создайте TensorFlow Serving

контейнер: $ tenorflow_serving / model_servers: tensorflow_model_server && cp bazel-bin /ensorflow_serving / model_servers /ensorflow_model_server / usr / local / bin /

Используйте команду выхода для выхода из контейнера

Найдите идентификатор контейнера:

$ docker ps

Используйте этот идентификатор контейнера для фиксации образа разработки:

$ docker commit $ USER / tf-Обслуживание-devel-custom-op

Теперь создайтеобслуживающий контейнер, использующий контейнер разработки в качестве источника

$ mkdir / tmp / tfserving

$ cd / tmp / tfserving

$ git clone https://github.com/tensorflow/serving.

$ сборка докера -t $ USER / tenorflow-Обслуживание --build-arg TF_SERVING_BUILD_IMAGE = $ USER / tf-Обслуживание-devel-custom-op -f tenorflow_serving / tools / docker / Dockerfile.

Теперь вы можете использовать $ USER / tenorflow-serve для обслуживания вашего изображения в соответствии с Docker instructions

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