Как стать автором
Обновить
1
0
Сергей Шутов @stopmosk

DL/CV Engineer

Отправить сообщение

Как подружить Tensorflow и C++

Время на прочтение6 мин
Количество просмотров45K

Google TensorFlow — набирающая популярность библиотека машинного обучения с акцентом на нейросетях. У нее есть одна замечательная особенность, она умеет работать не только в программах на Python, а также и в программах на C++. Однако, как оказалось, в случае С++ нужно немного повозиться, чтобы правильно приготовить это блюдо. Конечно, основная часть разработчиков и исследователей, которые используют TensorFlow работают в Python. Однако, иногда бывает необходимо отказаться от этой схемы. Например вы натренировали вашу модель и хотите ее использовать в мобильном приложении или роботе. А может вы хотите интегрировать TensorFlow в существующий проект на С++. Если вам интересно как это сделать, добро пожаловать под кат.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии17

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 2)

Время на прочтение18 мин
Количество просмотров39K
Продолжаем постигать современную магию (компьютерное зрение). Часть 2 не значит, что нужно сначала читать часть 1. Часть 2 значит, что теперь всё серьёзно — мы хотим понять всю мощь нейросетей в зрении. Детектирование, трекинг, сегментация, оценка позы, распознавание действий… Самые модные и крутые архитектуры, сотни слоёв и десятки гениальных идей уже ждут вас под катом!


Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии15

ConvNets. Создание прототипа проекта с помощью Mask R-CNN

Время на прочтение7 мин
Количество просмотров8K
Привет, Хабр! Мы, наконец, дождались еще одной части серии материалов от выпускника наших программ “Специалист по большим данным” и “Deep Learning”, Кирилла Данилюка, об использовании популярных на сегодняшний день нейронных сетей Mask R-CNN как части системы для классификации изображений, а именно оценки качества приготовленного блюда по набору данных с сенсоров.

Рассмотрев в предыдущей статье игрушечный набор данных, состоящий из изображений дорожных знаков, теперь мы можем перейти к решению задачи, с которой я столкнулся в реальной жизни: «Возможно ли реализовать Deep Learning алгоритм, который мог бы отличить блюда высокого качества от плохих блюд по одной фотографии?». Вкратце, бизнес хотел вот это:

Что представляет бизнес, когда думает о машинном обучении:
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии3

Новый бесплатный онлайн-курс от Samsung по анализу текста при помощи нейросетей

Время на прочтение6 мин
Количество просмотров11K
Мы привычно пользуемся интернет-поиском, общаемся с чат-ботами, читаем документы на любых языках благодаря переводчикам. Приказать роботу-пылесосу начать уборку при помощи голоса? Ничего особенного… Для многих голосовые помощники на смартфоне вошли в повседневность. Будущее, в котором компьютер, прочитав постороннюю заметку о футболе, соответствующим образом меняет тональность новости о погоде, уже наступило.

Как это всё работает? Как стать специалистом в NLP (расшифровывается Natural Language Processing, не путайте с нейролингвистическим программированием:) )?

Тех хабровчан, кто задается такими вопросами, мы приглашаем на открывшийся недавно онлайн- курс Samsung Research Russia. Под катом подробности…

Авторы курса “Нейронные сети и обработка текста”
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии9

Transformer — новая архитектура нейросетей для работы с последовательностями

Время на прочтение7 мин
Количество просмотров84K

Необходимое предисловие: я решил попробовать современный формат несения света в массы и пробую стримить на YouTube про deep learning.


В частности, в какой-то момент меня попросили рассказать про attention, а для этого нужно рассказать и про машинный перевод, и про sequence to sequence, и про применение к картинкам, итд итп. В итоге получился вот такой стрим на час:



Я так понял по другим постам, что c видео принято постить его транскрипт. Давайте я лучше вместо этого расскажу про то, чего в видео нет — про новую архитектуру нейросетей для работы с последовательностями, основанную на attention. А если нужен будет дополнительный бэкграунд про машинный перевод, текущие подходы, откуда вообще взялся attention, итд итп, вы посмотрите видео, хорошо?


Новая архитектура называется Transformer, была разработана в Гугле, описана в статье Attention Is All You Need (arxiv) и про нее есть пост на Google Research Blog (не очень детальный, зато с картинками).


Поехали.

Читать дальше →
Всего голосов 64: ↑61 и ↓3+58
Комментарии7

Нейробайесовский подход к задачам машинного обучения. Лекция Дмитрия Ветрова в Яндексе

Время на прочтение15 мин
Количество просмотров34K
Этим постом мы завершаем серию лекций с Data Fest. Одним из центральных событий конференции стал доклад Дмитрия Ветрова — профессора факультета компьютерных наук НИУ ВШЭ. Дмитрий входит в число самых известных в России специалистов по машинному обучению и, начиная с прошлого года, работает в Яндексе ведущим исследователем. В докладе он рассказывает об основах байесовского подхода и объясняет, какие преимущества дает этот подход при использовании нейронных сетей.


Под катом — расшифровка и часть слайдов.
Всего голосов 53: ↑52 и ↓1+51
Комментарии3

Асинхронное программирование в Python: краткий обзор

Время на прочтение5 мин
Количество просмотров88K
Когда говорят о выполнении программ, то под «асинхронным выполнением» понимают такую ситуацию, когда программа не ждёт завершения некоего процесса, а продолжает работу независимо от него. В качестве примера асинхронного программирования можно привести утилиту, которая, работая асинхронно, делает записи в лог-файл. Хотя такая утилита и может дать сбой (например, из-за нехватки свободного места на диске), в большинстве случаев она будет работать правильно и ей можно будет пользоваться в различных программах. Они смогут её вызывать, передавая ей данные для записи, а после этого смогут продолжать заниматься своими делами.



Применение асинхронных механизмов при написании некоей программы означает, что эта программа будет выполняться быстрее, чем без использования подобных механизмов. При этом то, что планируется запускать асинхронно, вроде утилиты для логирования, должно быть написано с учётом возникновения нештатных ситуаций. Например, утилита для логирования, если место на диске закончилось, может просто прекратить логирование, а не «обваливать» ошибкой основную программу.

Выполнение асинхронного кода обычно подразумевает работу такого кода в отдельном потоке. Это — если речь идёт о системе с одноядерным процессором. В системах с многоядерными процессорами подобный код вполне может выполняться процессом, пользующимся отдельным ядром. Одноядерный процессор в некий момент времени может считывать и выполнять лишь одну инструкцию. Это напоминает чтение книг. Нельзя читать две книги одновременно.

Если вы читаете книгу, а кто-то даёт вам ещё одну книгу, вы можете взять эту вторую книгу и приступить к её чтению. Но первую придётся отложить. По такому же принципу устроено и многопоточное выполнение кода. А если бы несколько ваших копий читало бы сразу несколько книг, то это было бы похоже на то, как работают многопроцессорные системы.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии28

Kaggle Mercedes и кросс-валидация

Время на прочтение18 мин
Количество просмотров61K
image

Всем привет, в этом посте я расскажу о том, как мне удалось занять 11 место в конкурсе от компании Мерседес на kaggle, который можно охарактеризовать как лидера по количеству участников и по эпичности shake-up. Здесь можно ознакомиться с моим решением, там же ссылка на github, здесь можно посмотреть презентацию моего решения в Yandex.

В этом посте пойдет речь о том, как студент консерватории попал в data science, стал призером двух подряд kaggle-соревнований, и каким образом методы математической статистики помогают не переобучиться на публичный лидерборд.

Начну я с того, что немного расскажу о задаче и о том, почему я взялся ее решать. Должен сказать, что в data science я человек новый. Лет 7 назад я закончил Физический Факультет СПбГУ и с тех пор занимался тем, что получал музыкальное образование. Идея немного размять мозг и вернуться к техническим задачам впервые посетила меня примерно два года назад, на тот момент я уже работал в оркестре Московской Филармонии и учился на 3 курсе в Консерватории. Начал я с того, что вооружившись книгой Страуструпа стал осваивать C++. Далее были конечно же разные онлайн курсы и примерно год назад я стал склоняться к мысли о том, что Data Science — это пожалуй именно то, чем я хотел бы заниматься в IT. Мое “образование” в Data Science — это курс от Яндекса и Вышки на курсере, несколько курсов из специализации МФТИ на курсере и конечно же постоянное саморазвитие в соревнованиях.
Читать дальше →
Всего голосов 61: ↑58 и ↓3+55
Комментарии16

Как правильно «фармить» Kaggle

Время на прочтение27 мин
Количество просмотров157K

image
*фарм — (от англ. farming) — долгое и занудное повторение определенных игровых действий с определенной целью (получение опыта, добыча ресурсов и др.).


Введение


Недавно (1 октября) стартовала новая сессия прекрасного курса по DS/ML (очень рекомендую в качестве начального курса всем, кто хочет, как это теперь называется, "войти" в DS). И, как обычно, после окончания любого курса у выпускников возникает вопрос — а где теперь получить практический опыт, чтобы закрепить пока еще сырые теоретические знания. Если вы зададите этот вопрос на любом профильном форуме, то ответ, скорее всего, будет один — иди решай Kaggle. Kaggle — это да, но с чего начать и как наиболее эффективно использовать эту платформу для прокачки практических навыков? В данной статье автор постарается на своем опыте дать ответы на эти вопросы, а также описать расположение основных грабель на поле соревновательного DS, чтобы ускорить процесс прокачки и получать от этого фан.

проверить глубину этой кроличьей норы
Всего голосов 87: ↑86 и ↓1+85
Комментарии15

Генератор музыкальных каверов на Python в Blender

Время на прочтение7 мин
Количество просмотров9.9K
В данной статье я расскажу о моём аддоне к блендеру, о причинах, побудивших меня к его созданию, процессе разработки и об «успехе» на YouTube.


Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии19

Понимание джойнов сломано. Продолжение. Попытка альтернативной визуализации

Время на прочтение2 мин
Количество просмотров81K
Многие из вас читали предыдущую статью про то, как неправильная визуализация для объяснения работы JOIN-ов в некоторых случаях может запутать. Круги Венна не могут полноценно проиллюстрировать некоторые моменты, например, если значения в таблице повторяются.

При подготовке к записи шестого выпуска подкаста "Цинковый прод" (где мы договорились обсудить статью) кажется удалось нащупать один интересный вариант визуализации. Кроме того, в комментариях к изначальной статье тоже предлагали похожий вариант.


Все желающие приглашаются под кат

Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии32

Понимание джойнов сломано. Это точно не пересечение кругов, честно

Время на прочтение4 мин
Количество просмотров334K

Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.


Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


Я так устал от этих ответов с пересечениями множеств и кругов, что даже перестал поправлять людей.


Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

Читать дальше →
Всего голосов 179: ↑138 и ↓41+97
Комментарии227

Python на Хабре

Время на прочтение7 мин
Количество просмотров452K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Всего голосов 182: ↑162 и ↓20+142
Комментарии65

Разработчик SearchFace о возможностях алгоритма

Время на прочтение2 мин
Количество просмотров106K
Всем привет, я один из разработчиков сервиса SearchFace и готов поговорить о нём в комментариях.



Из-за шумихи с иском ВК на второй план отошло то важное, ради чего мы запустили сервис — чтобы протестировать возможности поиска. А раз уж теперь сервис доступен широкой публике, хочется продемонстрировать всем, на что способны наши алгоритмы распознавания.
Читать дальше →
Всего голосов 204: ↑200 и ↓4+196
Комментарии261

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

Время на прочтение13 мин
Количество просмотров97K


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

Если вы не аудиофил и подбор аппаратуры не является для вас смыслом жизни, то самый простой путь — уверенно ориентироваться в технических характеристиках звукоусилительной аппаратуры и научиться извлекать полезную информацию между строк паспортов и инструкций, критически относясь к щедрым обещаниям. Если вы не ощущаете разницы между dB и dBm, номинальную мощность не отличаете от PMPO и желаете наконец узнать, что такое THD, также сможете найти интересное под катом.


Я надеюсь что материалы данной статьи будут полезны для понимания следующей, которая имеет намного более сложную тему — «Перекрёстные искажения и обратная связь, как один из их источников».
Нашли что-то интересное в содержании? Добро пожаловать под кат
Всего голосов 54: ↑54 и ↓0+54
Комментарии97

Цифровой звук: DSD vs PCM

Время на прочтение7 мин
Количество просмотров167K
Цифровой звук. Как же много мифов крутится вокруг этой фразы. Сколько споров возникало между любителями удобства и качества цифры и приверженцами «живого воздушного» винилового звука помноженного на «тёплое ламповое» звучание. Кроме того, есть немало споров и между любителями «цифры»: достаточно ли 16х44.1 или нужно 24х192? Что лучше: мультибит или дельта-сигма? CDDA или SACD? PCM или DSD? В этой статье я попробую простым языком изложить азы цифрового звука, а так же более подробно остановлюсь на сравнении двух типов кодирования аналогового сигнала в цифровой: DSD и PCM.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии13

«В глазах зверя» — MLF дает возможность рассмотреть лес изнутри

Время на прочтение3 мин
Количество просмотров8.8K
Предлагаю вашему вниманию перевод статьи «In the Eyes of the Animal — MLF virtualise a forest through the eyes of its creatures».

«В глазах зверя» — последняя инсталляция от студии дизайна Marshmallow Laser Feast, заказанная для фестиваля AND Festival и располагающаяся в английском парке Гридейл Форест. Проект приглашает посетителей в захватывающее путешествие, дающее возможность пролететь над пологом леса, столкнуться лицом к лицу с живыми существами, созданными с высокой четкостью, материализовать различных животных и то, как они бродят по Гриндейл Парку.


Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии6

Преобразование Фурье в действии: точное определение частоты сигнала и выделение нот

Время на прочтение12 мин
Количество просмотров234K
последняя редакция статьи доступна на сайте makeloft.xyz

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

Когда музыкант играет композицию, то он поочерёдно или одновременно зажимает и отпускает клавиши, в результате чего несколько синусоидальных сигналов накладываются друг на друга образуя рисунок. Именно этот рисунок воспринимается нами как мелодия, благодаря чему мы без труда узнаём одно произведение, исполняемое на различных инструментах в разных жанрах или даже непрофессионально напеваемое человеком.

image

Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии49

Мобильная связь в Европах

Время на прочтение7 мин
Количество просмотров38K
Я как-то писал о своём выборе роуминговых опций наших сотовых операторов. Тогда я остановился на «Ноль без границ» от МТС для входящих и на тарифе «Вокруг света» от Мегафона для исходящих и интернета. Но уже прошло три года, многое изменилось. Решил задокументировать нынешнее состояние дел.

Для начала — почему только Европа. Тут всё просто — я обычно езжу в отпуск в Европу. Не так часто, как некоторые ездят, но сильно чаще, чем сам езжу в другие части света.
Почему вообще возник такой вопрос, почему не купить местную симкарту в стране пребывания? Во-первых, туристу это не всегда возможно. Во-вторых, туристу это не всегда выгодно, особенно если приехал на пару дней. Но если я в стране на неделю и больше, то местную симкарту стараюсь приобрести.
DontPanicCartoon580_39474a
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии41

PC buyer's guide 2015: Материнские платы, чипсеты и сокеты

Время на прочтение9 мин
Количество просмотров87K
Кризис кризисом, а «железо» рано или поздно обновлять надо. Иногда просто потому, что производительности не хватает, а иногда и по более печальным причинам: например, что-то померло, а покупать под старое железо новый процессор по текущим ценам может показаться сумасшествием — проще уж всё сразу обновить и забыть про эту проблему на несколько лет.



Так или иначе, если вы не следите за железом каждый месяц, не сидите на профильных ресурсах или просто ваш удел — софт, а не хард, правильно подобрать комплектующие бывает довольно сложно. Мы подготовили для вас целый цикл статей, благодаря которому каждый сможет как более-менее разобраться в актуальном состоянии рынка компьютерных запчастей, так и выбрать себе нового железного коня по средствам и потребностям.
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии66

Информация

В рейтинге
5 945-й
Откуда
Helsinki, Southern Finland, Финляндия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Data Scientist
Middle
От 7 000 €