Я работаю над модулем глубокого обучения, предназначенным для развертывания на периферийном устройстве.
Наша ситуация:
Производственное приложение написано на C++.
Исследовательская группа разрабатывает модели и конвейеры на Python (PyTorch, NumPy, и т. д.).
Клиенты запрашивают прототип полного конвейера вывода (предварительная обработка – вывод – постобработка) как можно скорее.
У исследовательской группы очень ограниченный опыт C++.
Сначала мы пытались связать код Python с интерфейс C++ (с использованием pybind11), но этот подход вызвал разногласия:
Нам часто приходится перестраиваться при изменении кода Python.
Отладка межъязыковых проблем затруднена.
Скорость итерации при исследовании страдает.
Мы рассматриваем альтернативы, такие как представление конвейера Python как службы gRPC/RPC и вызов его из C++ Вопрос:
Какова рекомендуемая архитектура или рабочий процесс для быстрого прототипирования конвейеров глубокого обучения на основе Python при интеграции с рабочей базой кода C++ без постоянных перестроений и тяжелых накладных расходов на связывание?
Мы в основном ищут:
Шаблоны, используемые в промышленности
Компромиссы между внедрением, привязками и RPC
Практические предложения по обеспечению скорости итерации при сохранении чистого интерфейса C++
Я работаю над модулем глубокого обучения, предназначенным для развертывания на периферийном устройстве. Наша ситуация: [list] [*]Производственное приложение написано на [b]C++[/b].
[*]Исследовательская группа разрабатывает модели и конвейеры на [b]Python[/b] (PyTorch, NumPy, и т. д.).
[*]Клиенты запрашивают [b]прототип полного конвейера вывода[/b] (предварительная обработка – вывод – постобработка) как можно скорее.
[*]У исследовательской группы очень ограниченный опыт C++.
[/list] Сначала мы пытались [b]связать код Python с интерфейс C++[/b] (с использованием pybind11), но этот подход вызвал разногласия: [list] [*]Нам часто приходится перестраиваться при изменении кода Python.
[*]Отладка межъязыковых проблем затруднена.
[*]Скорость итерации при исследовании страдает.
[/list] Мы рассматриваем альтернативы, такие как представление конвейера Python как [b]службы gRPC/RPC[/b] и вызов его из C++ [b]Вопрос:[/b]
Какова рекомендуемая архитектура или рабочий процесс для быстрого прототипирования конвейеров глубокого обучения на основе Python при интеграции с рабочей базой кода C++ без постоянных перестроений и тяжелых накладных расходов на связывание? Мы в основном ищут: [list] [*]Шаблоны, используемые в промышленности
[*]Компромиссы между внедрением, привязками и RPC
[*]Практические предложения по обеспечению скорости итерации при сохранении чистого интерфейса C++