О школе

Освойте полный цикл решения CV-задач

Старт 28-го марта (7 поток)
CV Rocket
(скоро)
Научитесь выводить модели в прод
Наведете порядок в репозиториях
Разберетесь в лучших практиках
Повысите свою ценность на рынке

Этот курс для вас, если

Вам не хватает обратной связи

Вы хотите перенять лучшие практики

Вы хотите стать ценным инженером

Вы создаёте свой CV-проект

Вы погрузитесь в индустрию

После курса CV Rocket вы:

ex koronapay.com, основатель проекта
Тимур Фатыхов
По окончании курса вы научитесь решать Computer Vision задачи end-to-end: от сбора данных до деплоя web-сервиса. Вы переймете лучшие практики опытных инженеров, которые станут вашими кураторами во время обучения

Закроете пробелы в знаниях

Повысите свою ценность на рынке

Улучшите процессы в своей команде

Освоите полный цикл решения CV-задач

Чему вы научитесь

Освоите полный цикл решения CV-задач и научитесь делать это внутри команды
Optical Character Recognition, Tracking, Face Recognition and Verification, Segmentation, Object Detection

Решать востребованные задачи

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

Работать в ML/DL команде

Препроцессить картинки на GPU с помощью DALI. Использовать lightning для моделинга сетей

Быстро учить модели

Создавать проекты на платформе краудсорсинга «Толока». Собирать данные и разметку, создавать правила для минимизации обшибок в аннотациях

Добывать чистые данные

Оборачивать инференс моделей в web-сервис. Настраивать CI/CD и мониторинг своих приложений

Создавать полноценный сервис

Квантовать, дистиллировать и прунить модели. Конвертировать в JIT, ONNX, TensorRT и OpenVino. Готовить модели для инференса на устройстве клиента

Ускорять и облегчать инференс

Программа

Программа рассчитана на 15 недель, ей нужно будет посвящать в среднем 8−12 часов в неделю
15
недель
18
лекций
2
проекта
8-12
часов в неделю
4 лекции:

Модуль 1: Tools & Frameworks

Расскажем про организацию репозитория для моделинга. Про конфигурирование, логгирование метрик и экспериментов через clearml и про то, как управлять данными при помощи dvc
→ Моделинг в команде. Теория
Сделаем репозиторий обучения модели «по фен шую»: создадим Makefile и подключим линтеры и пре-коммит. Тренировать модель будем при помощи Pytorch Lightning, а логировать эксперименты — в ClearML
→ Моделинг в команде. Семинар
Научимся ускорять нейросетей при помощи использования фреймворков для инференса. Научимся предсказывать через ONNX Runtime, OpenVINO и TensorRT
→ Конвертация
Ускорять можно не только модели, но и работу с данными. Покажем, как можно ускорить ваш тренировочный пайплайн при помощи Data Loading Library (DALI) за счёт переведения операций с данными на GPU
→ Nvidia DALI
4 лекции:

Модуль 2: Dev & Ops

Расскажем, что такое веб-сервисы, обсудим REST. Научимся писать свои веб-сервисы на FastAPI и конфигурировать их при помощи OmegaConf. Расскажем про внедрение зависимостей и научим применять DI-контейнеры
→ Введение в веб-сервисы, FastAPI
Покажем, как мониторить задеплоенное приложение. Научимся узнавать об ошибках при помощи Sentry, а собирать и отслеживать метрики нам помогут Prometheus и Grafana
→ Мониторинг
Познакомимся с Dockerfile, docker-image, docker-container. Узнаем про docker volumes, stats и events. Расскажем про docker-compose. Научимся проверять наш код: писать юнит и интеграционные тесты при помощи pytest, а также пропускать его через линтеры
→ Docker, Tests, Linters
Научимся использовать Gitlab CI в своих проектах. Будем тестировать и прогонять через линтеры каждый коммит. Научимся деплоить наше приложение из Gitlab при помощи Ansible
→ CI/CD
6 лекций:

Модуль 3: Data & Tasks

Расскажем, что такое crowdsource и как с ним работать. Научимся декомпозировать исходную задачу и писать инструкции для разметчиков. Покажем, как работать в Толоке: научим готовить данные, создавать пулы, контролировать качество и агрегировать результаты
→ Краудсорсинг, Толока
Расскажем про детекцию и распознавание текста, сделаем обзор основных архитектур и датасетов. Расскажем про готовые фреймворки и библиотеки: Paddle OCR, MMOCR, EasyOCR и расскажем, в каких случаях какой лучше применять
→ Распознавание текста (OCR)
Расскажем, как обычная кросс-энтропия помогает искать похожие картинки (лица), узнаем, как из этого выводится angular margin loss и при чём здесь contrastive loss. Затронем использование этого для быстрого поиска картинок (лиц), упомянув матричные разложения и кластеризацию
→ Распознавание лиц
Сделаем обзор моделей для задачи семантической сегментации, обсудим метрики и лоссы. Покажем, как применять Multi-task learning для этой задачи. Расскажем, как можно отделять объекты одного класса друг от друга при помощи Watershed
→ Семантическая сегментация
Пройдём путь от первых детекторов до современных. Обсудим двух- и одноэтапные anchor-based детекторы, а также anchor-free детекторы. Разберёмся, как работать с MMDetection. В задаче трекинга обсудим классический SORT и его современную модификацию FairMOT
→ Детекция и трекинг
Расскажем, как решают задачу локализации объектов без нейросетей. Рассмотрим алгоритмы поиска контуров и минимально-описывающих фигур, математические морфологии, проекции и бинаризацию
→ Детекция без нейросетей
4 лекции:

Модуль 4: Generative & SelfSup

Разберёмся, как работают трансформеры и пройдём путь от трансформеров в NLP до первых трансформеров в CV и их модификаций
→ Трансформеры
Объясним, как работает диффузия. Расскажем, как обучают модели под определенные задачи: Conditional Generation, Super-Resolution, Text2Image. И разберем важные архитектуры DALL-E, Imagen, Stabe Diffusion
→ Diffusion Models
Расскажем теорию автоэнкодеров и GAN, обсудим, как решать проблемы при их обучении и разберем популярные архитектуры
→ GAN
Рассмотрим различные методы SSL и библиотеки с их реализацией. Спикер поделится личным опытом применения SSL и даст советы из практики
→ SSL
Подробнее:

Домашние задания

→ В первый месяц задачи попроще, лекции 2 раза в неделю, например:
Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

→ Последние 3 месяца задачи будут сложнее, лекции 1 раз в неделю:
Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

Как именно вы освоите каждый навык

Мы проводим лекции в зум в режиме онлайн 1−2 раза в неделю. На них вы будете слушать лекции опытных разработчиков, задавать им вопросы, участвовать в дискуссиях и работать в группах над решением ML-кейсов. В конце каждой лекции вы закрепите материал анонимным тестом, а спикер прокомментирует ошибки

1. Изучите теорию на лекции

Каждое задание делится на две части: моделинг нейросетей и деплой сервиса. Постепенно вы будете улучшать моделинг и сервис, применяя фреймворки и техники из лекций. К концу курса вы создадите 2 полноценных сервиса с тестами, автоматизацией, мониторингами и быстрыми моделями под капотом

2. Сделаете практическое задание

Для каждой домашней работы вы создадите отдельный gitlab репозиторий. А наши кураторы проведут code review на каждый merge request, чтобы вы получили исчерпывающий фидбек

3. Получите Code Review от куратора

Обсуждайте домашние задания, рабочие задачи или просто общайтесь. Кураторы курса всегда помогут решить проблемы и поделятся советом

4. Если возникнут трудности, мы оперативно поможем в чате

Раз в 1−2 недели мы проводим сессии вопрос-ответ (или семинары для ответов на вопросы). Туда приходят спикеры и кураторы. Мы отвечаем на ваши вопросы, помогаем с практикой, обсуждаем задачи из вашей практики

5. Или приходите на онлайн-встречи с кураторами, чтобы обсудить вопрос голосом

Программа

Программа рассчитана на 15 недель, ей нужно будет посвящать в среднем 8−12 часов в неделю
15
недель
18
лекций
2
проекта
8-12
часов в неделю
4 лекции:

Модуль 1: Tools & Frameworks

Расскажем про организацию репозитория для моделинга. Про конфигурирование, логгирование метрик и экспериментов через clearml и про то, как управлять данными при помощи dvc
→ Моделинг в команде. Теория
Сделаем репозиторий обучения модели «по фен шую»: создадим Makefile и подключим линтеры и пре-коммит. Тренировать модель будем при помощи Pytorch Lightning, а логировать эксперименты — в ClearML
→ Моделинг в команде. Семинар
Научимся ускорять нейросетей при помощи использования фреймворков для инференса. Научимся предсказывать через ONNX Runtime, OpenVINO и TensorRT
→ Конвертация
Ускорять можно не только модели, но и работу с данными. Покажем, как можно ускорить ваш тренировочный пайплайн при помощи Data Loading Library (DALI) за счёт переведения операций с данными на GPU
→ Nvidia DALI
4 лекции:

Модуль 2: Dev & Ops

Расскажем, что такое веб-сервисы, обсудим REST. Научимся писать свои веб-сервисы на FastAPI и конфигурировать их при помощи OmegaConf. Расскажем про внедрение зависимостей и научим применять DI-контейнеры
→ Введение в веб-сервисы, FastAPI
Покажем, как мониторить задеплоенное приложение. Научимся узнавать об ошибках при помощи Sentry, а собирать и отслеживать метрики нам помогут Prometheus и Grafana
→ Мониторинг
Познакомимся с Dockerfile, docker-image, docker-container. Узнаем про docker volumes, stats и events. Расскажем про docker-compose. Научимся проверять наш код: писать юнит и интеграционные тесты при помощи pytest, а также пропускать его через линтеры
→ Docker, Tests, Linters
Научимся использовать Gitlab CI в своих проектах. Будем тестировать и прогонять через линтеры каждый коммит. Научимся деплоить наше приложение из Gitlab при помощи Ansible
→ CI/CD
6 лекций:

Модуль 3: Data & Tasks

Расскажем, что такое crowdsource и как с ним работать. Научимся декомпозировать исходную задачу и писать инструкции для разметчиков. Покажем, как работать в Толоке: научим готовить данные, создавать пулы, контролировать качество и агрегировать результаты
→ Краудсорсинг, Толока
Расскажем про детекцию и распознавание текста, сделаем обзор основных архитектур и датасетов. Расскажем про готовые фреймворки и библиотеки: Paddle OCR, MMOCR, EasyOCR и расскажем, в каких случаях какой лучше применять
→ Распознавание текста (OCR)
Расскажем, как обычная кросс-энтропия помогает искать похожие картинки (лица), узнаем, как из этого выводится angular margin loss и при чём здесь contrastive loss. Затронем использование этого для быстрого поиска картинок (лиц), упомянув матричные разложения и кластеризацию
→ Распознавание лиц
Сделаем обзор моделей для задачи семантической сегментации, обсудим метрики и лоссы. Покажем, как применять Multi-task learning для этой задачи. Расскажем, как можно отделять объекты одного класса друг от друга при помощи Watershed
→ Семантическая сегментация
Пройдём путь от первых детекторов до современных. Обсудим двух- и одноэтапные anchor-based детекторы, а также anchor-free детекторы. Разберёмся, как работать с MMDetection. В задаче трекинга обсудим классический SORT и его современную модификацию FairMOT
→ Детекция и трекинг
Расскажем, как решают задачу локализации объектов без нейросетей. Рассмотрим алгоритмы поиска контуров и минимально-описывающих фигур, математические морфологии, проекции и бинаризацию
→ Детекция без нейросетей
4 лекции:

Модуль 4: Generative & SelfSup

Разберёмся, как работают трансформеры и пройдём путь от трансформеров в NLP до первых трансформеров в CV и их модификаций
→ Трансформеры
Объясним, как работает диффузия. Расскажем, как обучают модели под определенные задачи: Conditional Generation, Super-Resolution, Text2Image. И разберем важные архитектуры DALL-E, Imagen, Stabe Diffusion
→ Diffusion Models
Расскажем теорию автоэнкодеров и GAN, обсудим, как решать проблемы при их обучении и разберем популярные архитектуры
→ GAN
Рассмотрим различные методы SSL и библиотеки с их реализацией. Спикер поделится личным опытом применения SSL и даст советы из практики
→ SSL
Подробнее:

Домашние задания

→ В первый месяц задачи попроще, лекции 2 раза в неделю, например:
Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

→ Последние 3 месяца задачи будут сложнее, лекции 1 раз в неделю:
Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

Разрешите конфликт при мердже веток с DVC

→ Моделинг сетей

Большие end-to-end проекты, которые проходят через весь курс

Каждый проект состоит из 2 репозиториев: в первом код обучения сети, во втором код сервиса. На каждый вы получите подробное code-review от спикеров
Вам предстоит обучить нейросеть и обернуть её инференс в web-сервис. Решение будет состоять из двух частей: моделинг классификации и разработка сервиса

Cервис классификации спутниковых снимков

Создадите репозиторий моделинга с выбранным фреймворком, логгированием экспериментов и версионированием моделей
Напишете сервис, добавите к нему тесты, обернёте в докер, настроите CI и автоматизируете деплой на сервер

Первый проект

Особое условие - Code Review

На каждое решение вы получите подробное ревью от Senior-инженера

Первый проект

Особое условие - Code Review

На каждое решение вы получите подробное ревью от Senior-инженера
В этом проекте вам потребуется обучить несколько нейросетей и связать их в одном сервисе. Данных теперь не будет — вы соберёте их в «Толоке»

Сервис распознавания штрихкодов товаров

Улучшите моделинг: добавите тесты и gitlab ci. А данные соберете через Толоку, их теперь нет
Создадите пайплайн моделей в сервисе. Освоите сервинг. Добавите мониторинг используя Prometheus и Grafana

Записаться на консультацию

Куратор ответит на ваши вопросы, уточнит цели и желания — это поможет определить, будет ли курс полезен именно для вас

Ваша команда на 4 месяца

Опытные инженеры будут вести Zoom-лекции и семинары, отвечать на ваши вопросы и ревьюить код
2GIS
Михаил Лиз
Актуализирует карты 2GIS
с помощью CV. Научит краудсорсингу на Толоке и сегментации
Kudan SLAM
Игорь Ильин
Разрабатывает SLAM Алгоритмы. Расскажет о классическом компьютерном зрении
Haut.AI OÜ
Марк Страхов
Занимается анализом снимков кожи. Расскажет о Self Supervised Learning
verigram.ai
Андрей Шадриков
Тимлид команды распознавания лиц. Расскажет как решать metric learning задачи
Евразтехника
Сергей Гаврин
Работал в крупных ML-командах, передаст опыт командного моделинга сетей
TheWatch
Денис Солдатов
Backend-разработчик. Расскажет как создавать, деплоить и поддерживать сервисы
Сбер
Альбина Хабибулина
Рекрутировала в Яндекс и Ozon. Провела > 100 интервью. Научит составлять резюме и представлять себя
Expasoft
Дмитрий Чудаков
Оптимизирует сети для быстрой работы на Edge устройствах. Научит ускорять сети
EPAM
Егор Осинкин
TeamLead команды Computer Vision
НИИАС
Дмитрий Раков
Работает над беспилотными поездами. Расскажет о трансформерах
Авито
Василий Баранов
Работал над сервисом распознавания документов. Расскажет о распознавании текста
Кирам Аль-Харба
Генерирует людей для фэшн индустрии, объяснит, как работают GAN и диффузии
2GIS
Михаил Лиз
Актуализирует карты 2GIS
с помощью CV. Научит краудсорсингу на Толоке и сегментации
Kudan SLAM
Игорь Ильин
Разрабатывает SLAM Алгоритмы. Расскажет о классическом компьютерном зрении
Haut.AI OÜ
Марк Страхов
Занимается анализом снимков кожи. Расскажет о Self Supervised Learning
verigram.ai
Андрей Шадриков
Тимлид команды распознавания лиц. Расскажет как решать metric learning задачи
Евразтехника
Сергей Гаврин
Работал в крупных ML-командах, передаст опыт командного моделинга сетей