Как добавить несколько моделей во время выполнения в tf_serving без выгрузки предыдущих моделей? - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь добавить новую модель в tensorflow_model_server, используя следующий код:

from tensorflow_serving.apis import model_service_pb2_grpc
from tensorflow_serving.apis import model_management_pb2
from tensorflow_serving.config import model_server_config_pb2

import grpc

def add_model_config(host, name, base_path, model_platform):
  channel = grpc.insecure_channel(host)
  stub = model_service_pb2_grpc.ModelServiceStub(channel)
  request = model_management_pb2.ReloadConfigRequest()
  model_server_config = model_server_config_pb2.ModelServerConfig()

  #Create a config to add to the list of served models
  config_list = model_server_config_pb2.ModelConfigList()
  one_config = config_list.config.add()
  one_config.name= name
  one_config.base_path=base_path
  one_config.model_platform=model_platform

  model_server_config.model_config_list.CopyFrom(config_list)

  request.config.CopyFrom(model_server_config)

  print(request.IsInitialized())
  print(request.ListFields())

  response = stub.HandleReloadConfigRequest(request,10)
  if response.status.error_code == 0:
      print("Reload sucessfully")
      return True
  else:
      print("Reload failed!")
      print(response.status.error_code)
      print(response.status.error_message)
      return False

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

1 Ответ

0 голосов
/ 30 апреля 2019

Нет простого способа добавить новую модель, сохранив при этом уже загруженные предыдущие модели.

Я всегда сохранял список конфигурации последней модели на диске, и когда мне нужнообновить модели по любой причине (либо добавить, либо удалить, либо обновить), я прочитал этот файл конфигурации с диска и произвел надлежащую модификацию, а затем вызвал HandleReloadConfigRequest () с полным списком конфигурации, а затем снова сохранил его на диск.

Файл на диске (скажем, /models/models.config) становится официальной записью того, какие модели были загружены в tf.serve в любой момент времени.Таким образом, вы можете восстановиться после перезагрузки tf.serve и чувствовать себя комфортно, зная, что он загрузит правильные модели.Опция для указания файла конфигурации при запуске сервера: --model_config_file /models/models.config.

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