Как обслуживать модель Tensorflow с многопроцессорным сервером uvloop (Sanic)? - PullRequest
0 голосов
/ 23 октября 2019

У меня проблемы с запуском модели Tensorflow с сервером на основе uvloop ( Sanic ), хотя он отлично работает с Flask. Я думаю, это как-то связано с тем, как Саник порождает несколько процессов? Я говорю это потому, что если я запускаю Sanic с 1 работником (то есть с процессом), то модель обслуживается просто отлично. Хотя я нахожу недоумением, что я развернул эту же модель с Flask + gunicorn, используя несколько рабочих и потоков на одного рабочего.

Я получаю конкретную ошибку:

2019-10-22 18:05:39.062833: E tensorflow/core/grappler/clusters/utils.cc:87] Failed to get device properties, error code: 3
2019-10-22 18:05:39.731232: F tensorflow/stream_executor/cuda/cuda_driver.cc:175] Check failed: err == cudaSuccess || err == cudaErrorInvalidValue Unexpected CUDA error: initialization error

Я чувствую, что этопо крайней мере, частично относится к https://github.com/pytorch/pytorch/issues/2517

Я пытался использовать sess.as_default() и graph.as_default(), прежде чем я сделаю вызов коду, который возвращает прогноз безрезультатно. Буду признателен за любую помощь, даже за некоторые идеи, так как я врезался в стену и теряюсь в том, как действовать.

...