В тензорном обслуживании, каковы общие правила для названия модели - PullRequest
1 голос
/ 03 мая 2019

Я пытаюсь обслуживать обученную модель с сохраненным тензорным потоком и хочу, чтобы URL прогноза был примерно таким:

localhost:8501/v1/models/<model_name>:predict, where model_name is like "something1/something2"

Я установил для параметра model_name значение something1/something2 затем запустите

docker run --rm -p 8501:8501 \
    -v "$LOCAL_MODEL_DIR:/models/${MODEL_NAME}" \
    -e MODEL_NAME=${MODEL_NAME} \
    -t tensorflow/serving

Команда работает нормально, но когда я публикую прогнозы на localhost:8501/v1/models/something1/something2:predict

Я получил эту ошибку:

{ "error": "Malformed request: POST /v1/models/something1/something2:predict" }

  • Похоже, что модель обслуживает образ докера правильно, я отправил неправильный URL?
  • Когда я изменил название модели, чтобы НЕ содержать косую черту, все работает нормально

1 Ответ

0 голосов
/ 03 мая 2019

Ваше наблюдение => "Когда я изменил на имя модели, чтобы НЕ содержать косую черту, все работает нормально", это очень хорошо.

Итак, чтобы точно ответить на ваш вопрос, общие правила для названия модели

  1. Специальные символы, такие как "*, #, / и т. Д.", Не допускаются
  2. Пробелы не допускаются.Пример: «Новая модель»
  3. Ни в одной из папок, участвующих в структуре папок пути, в котором мы планируем сохранить модель, не должно быть пробелов.

Обычно при экспорте модели она сохраняется в пути, например, например,

"/ usr / local / google / home / abc / Jupyter_Notebooks / export / 1554294699", где 1554294699 - этоотметка времени, когда модель была сохранена.

Таким образом, для вывода достаточно указать имя модели как export .

При выводе и прогнозировании Tensorflow Serving заботится о выборе последней версии модели из этой папки.

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