- BrainTools - https://www.braintools.ru -
Когда мы говорим о машинном обучении [1], то автоматически подразумевает Python. Это справедливо: на Python есть множество удобных ML-инструментов, например, популярная библиотека PyTorch. Тем не менее, некоторые задачи можно решать с помощью С++. И не только ради эксперимента, а для увеличения производительности сервисов и упрощения работы с кодом.
Кирилл Колодяжный, разработчик СХД в YADRO [2], несколько лет изучает машинное обучение на С++. Он уже написал программы для поиска лица на фото и для распознавания объектов в реальном времени. Под катом — пять материалов Кирилла, после которых инженерам захочется «пересесть» с Python на C++. Хотя бы на время.
Кирилл Колодяжный — член программного комитета System Level Meetup [3] для разработчиков на Linux и С++. Познакомиться с автором статей, а также с другими специалистами YADRO, Syntacore, Сбера можно 24 мая в Санкт-Петербурге. Митап пройдет в два потока — С/Linux Kernel и C++. Выбирайте интересное направление и приходите слушать доклады. А если живете в другом городе, подключайтесь к онлайн-трансляции.
О чем серия: Как написать на С++ все возможные блоки приложения для распознавания объектов под Android? Кирилл не нашел готового ответа и решил реализовать приложение самостоятельно, а заодно опробовать модели компьютерного зрения [4] YOLOv5 и YOLOv4. Чем закончился эксперимент, узнаете из статей.
Зачем читать: Автор подробно описал, как выстроить процесс, если хотите разработать computer vision-приложение под Android с элементами на С++. Можно использовать как пошаговое руководство, а можно вдохновиться и реализовать что-то свое.
О чем статья: Эта работа — полноценный гайд для тех, кто хочет обучить модель распознавать лица на фото с помощью С++. Автор рассказал, как описать структуру нейронной сети, какие готовые алгоритмы машинного обучения можно использовать и как применять предобученные глубокие сети.
Зачем читать: Погрузиться в тему распознавания лиц и отследить, как обучается модель — от загрузки обучающего датасета до готовой инфографики с найденным лицом Арнольда Шварценеггера.
Читать статью → [7]
О чем серия: В первой части автор рассказал, что такое свертки в машинном обучении, и рассмотрел четыре подхода к их реализации. На простых примерах вы разберетесь, чем отличается быстрое преобразование Фурье от алгоритма Winograd. А во второй части Кирилл показал, как один из подходов применяется в решении задачи, и объяснил, какие ограничения накладывает обучение модели.
Зачем читать: Разобраться, как работает машинное обучение с точки зрения математики [8] и найти алгоритм, который подойдет для решения вашей задачи.
Что еще о машинном обучении на С++ вы бы хотели узнать от Кирилла? Пишите в комментариях.
Автор: yadro_team
Источник [11]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/15387
URLs in this post:
[1] обучении: http://www.braintools.ru/article/5125
[2] в YADRO: https://yadro.com/?utm_source=habr&utm_medium=referral&utm_campaign=cpp_ml_article200525
[3] System Level Meetup: https://meetups.yadro.com/cpp-kernel-spb-0525?utm_source=habr&utm_medium=referral&utm_campaign=ml_cpp_5articles_200525
[4] зрения: http://www.braintools.ru/article/6238
[5] Читать первую часть →: https://habr.com/ru/companies/yadro/articles/850786/
[6] Читать вторую часть →: https://habr.com/ru/companies/yadro/articles/856110/
[7] Читать статью →: https://habr.com/ru/companies/yadro/articles/800533/
[8] математики: http://www.braintools.ru/article/7620
[9] Читать первую часть →: https://habr.com/ru/companies/yadro/articles/896362/
[10] Читать вторую часть →: https://habr.com/ru/companies/yadro/articles/899612/
[11] Источник: https://habr.com/ru/companies/yadro/articles/911002/?utm_campaign=911002&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.