Развертывание конвейера Computer Vision с использованием Kubeflow в Kubernetes
Можно ли запустить конвейер компьютерного зрения с Kubeflow? Это хорошая идея, будет ли она работать эффективно?
Предположим, что этапами конвейера должны быть сегментация изображения, некоторая фильтрация, а что нет (gpu до сих пор включал opencv) и, возможно, тензорный поток, обслуживающий CNN в конце.
Какие-нибудь полезные ресурсы?
Спасибо,
1 ответ
Трубопроводы kubeflow хорошо подойдут для вашего конкретного случая использования. Идея состоит в том, что вы упаковываете все отдельные шаги, которые вы хотите отделить, что-то вроде: 1/ предварительная обработка, 2/ тренировка, 3/ порция. Каждый контейнер спроектирован таким образом, чтобы он мог принимать соответствующие аргументы, которые вы хотите изменить с течением времени для запуска разных версий конвейера.
- Для образа предварительной обработки я бы предложил начать с образа графического процессора с установленным opencv, который отбрасывает вывод в Google Cloud Storage.
- Для обучения вы могли бы использовать
google/cloud-sdk:latest
изображение, которое поставляется с командой gcloud, поэтому вы просто копируете свой код и запускаете команду ml engine. - Для обслуживания вы можете использовать мл движок, чтобы развернуть модель и, таким образом, начать строить образ снова
google/cloud-sdk:latest
В качестве альтернативы вы можете использовать изображения TF, которые доступны с полки, и вам нужно только указать корзину, в которой хранится сохраненная модель, и название модели см. в инструкциях.
В этом посте описано, как построить подобный конвейер.