В этой статье мы расширяем функциональность tutorial02, добавляя динамическое пакетирование для повышения QPS.
Для дампа resnet требуется поддержка нескольких пакетов ввода, пример можно найти в файле dump_resnet.py.
Новый classify.py должен выглядеть следующим образом:
$ cat flow-python/examples/simple_det_classify/classify.py
...
def exec(self):
# batching
(envelopes, _) = self.inp.batch_recv(self.batch_size, self.timeout)
if len(envelopes) == 0:
return
...
Здесь batch_recv
имеет следующий список параметров:
Тип | Название | Значение |
---|---|---|
Входной | batch_size | Максимальное количество пакетов |
Входной | timeout | Время ожидания в миллисекундах |
Выходной | list of Any | Набор сообщений, 0 <= len(list) <= batch_size |
Выходной | bool | Указывает, был ли закрыт этот порт. Если значение равно True, это эквивалентно тому, что интерфейс recv возвращает None |
Затем объедините данные в Python и настройте inference_batch
:
data = np.concatenate(crops)
types = self._model.inference_batch(data)
MegFlow поддерживает прямое использование наборов изображений или списков видео для тестирования без необходимости в HTTP-сервере. Пользователи должны самостоятельно реализовать узел Validation и интегрировать его в CI для проверки правильности и производительности.
Рассмотрим пример simple_classification image_test:
...
[[graphs.nodes]]
name = "source"
ty = "ImageInput"
urls = ["/mnt/data/user/image/","/home/test_data_dir/"]
...
Структура пайплайна остаётся неизменной, но добавляется новый тип источника под названием ImageInput
, где пользователь может указать список каталогов изображений через urls
.
Метод запуска не меняется:
$ megflow_run -c simple_classification/image_test.toml -p simple_classification
Рассмотрим пример simple_det_classify video_test:
...
[[graphs.nodes]]
name = "source"
ty = "VideoInput"
repeat = 1
urls = ["rtsp://127.0.0.1:8554/test.ts", "/mnt/data/file.mp4"]
...
Пайплайн остаётся прежним, но добавлен узел VideoInput
со следующими параметрами:
Параметр | Значение |
---|---|
urls | Список URL-адресов видео, включая потоки и локальные файлы |
repeat | Количество параллельных потоков для каждого URL. Обратите внимание, что для сетевых потоков необходимо учитывать нагрузку на пропускную способность |
Способ запуска также не меняется:
$ megflow_run -c simple_det_classify/video_test.toml -p simple_det_classify
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )