Как стать автором
Обновить
2
0

Senior Research Engineer

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

«Вспомнить все» или решение проблемы катастрофической забывчивости для чайников

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

Эта моя статья будет посвящена проблеме катастрофической забывчивости и новейшим методам ее решения. Будут приведены примеры реализации этих методов, которые легко адаптировать под почти любую конфигурацию нейронной сети.

Сначала напомним, что это, собственно, за проблема. Если вдруг так оказалось, что вам нужно обучать нейронную сетку сначала на одном датасете, а затем на другом, то вы обнаружите, что по мере обучения на втором датасете сетка быстро забывает первый датасет, то есть теряет навык, полученный при обучении на нем. Или же если вы используете transfer learning и доучиваете готовую сетку на своих примерах, то будет наблюдаться тот же эффект – сетка успешно доучится на ваших данных, но при этом существенно утеряет предыдущие навыки, то есть то, ради чего весь transfer learning и затевался. Если вдруг датасетов, на которых надо последовательно учиться, не два а, к примеру, пять, то к концу обучения на пятом сетка забудет первый датасет практически полностью.

Вот с этим мы и будем бороться.

Читать далее
Всего голосов 12: ↑11 и ↓1+14
Комментарии8

Как я пришёл в дата-анализ после долгих блужданий по онлайн-курсам, маршрут со всеми тупиками и ухабами

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров26K

Привет! Меня зовут Алексей, я дата-аналитик. Четыре года назад я пришёл в дата-анализ из сферы, далековатой от IT, — пивоварения (хотя о том, что на самом деле они не так далеки, я рассказывал здесь). До того как я нашёл свою нишу, тщетно пробовал вкатиться в IT через разные курсы по Python, TensorFlow и веб-разработке. Потратил на это три года и 100 тысяч рублей, в какой-то момент выгорел ещё в процессе обучения, чуть не бросил попытки, но собрался и в итоге самостоятельно и бесплатно изучил анализ данных, который мне сразу зашёл. 

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

Читать далее
Всего голосов 16: ↑14 и ↓2+19
Комментарии10

Как превратить скрипт на Python в «настоящую» программу при помощи Docker

Время на прочтение4 мин
Количество просмотров68K
Никого не интересует, умеете ли вы разворачивать связанный список — всем нужно, чтобы можно было легко запускать ваши программы на их машине. Это становится возможным благодаря Docker.


Для кого предназначена эта статья?


Вам когда-нибудь передавали код или программу, дерево зависимостей которой напоминает запутанную монтажную плату?


Как выглядит управление зависимостями

Без проблем, я уверен, что разработчик любезно предоставил вам скрипт установки, чтобы всё работало. Итак, вы запускаете его скрипт, и сразу же видите в оболочке кучу сообщений логов ошибок. «У меня на машине всё работало», — обычно так отвечает разработчик, когда вы обращаетесь к нему за помощью.

Docker решает эту проблему, обеспечивая почти тривиальную портируемость докеризованных приложений. В этой статье я расскажу, как быстро докеризировать ваши приложения на Python, чтобы ими можно было легко делиться с любым человеком, у которого есть Docker.

В частности, мы рассмотрим скрипты, которые должны работать как фоновый процесс.
Читать дальше →
Всего голосов 37: ↑27 и ↓10+27
Комментарии40

Применение машинного обучения и Data Science в промышленности

Время на прочтение22 мин
Количество просмотров68K
Хабр, привет. Перевел пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа.

image

Отмечу, что если среди читателей есть желающие помочь, и добавить в любую из подотраслей подходящий проект, пожалуйста, свяжитесь со мной. Я их добавлю в список. Итак, давайте начнём изучение списка.
Читать дальше →
Всего голосов 77: ↑71 и ↓6+65
Комментарии13

Шпаргалка по визуализации данных в Python с помощью Plotly

Время на прочтение62 мин
Количество просмотров311K
Plotly — библиотека для визуализации данных, состоящая из нескольких частей:

  • Front-End на JS
  • Back-End на Python (за основу взята библиотека Seaborn)
  • Back-End на R

В этой простыне все примеры разобраны от совсем простых к более сложным, так что разработчикам с опытом будет скучно. Так же эта «шпаргалка» не заменит на 100% примеры из документации.



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

Десять лучших опенсорсных инструментов аннотирования 2021 года для Computer Vision

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

Мы осознаём важность подбора качественных инструментов разметки и аннотирования изображений для создания точных и полезных массивов данных. В нашем блоге можно найти серию Tools we love, в которой мы проводим анализ некоторые из наших любимых инструментов аннотирования, а также списки лучших инструментов аннотирования на 2019, 2020 и 2021 годы.

Сфера аннотирования изображений развивается, поэтому мы наблюдаем рост количества опенсорсных инструментов, позволяющих бесплатно размечать изображения и использовать большой набор функций. В этой статье мы расскажем о десяти лучших опенсорсных инструментах аннотирования для компьютерного зрения.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+6
Комментарии0

Генетический алгоритм vs алгоритм роя частиц

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

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

В данной статье под задачей оптимизации понимается нахождение экстремума (минимума) некоторой вещественной функции в заданной области. Будут рассмотрены два самых важных алгоритма в оптимизации: генетический алгоритм и алгоритм роя частиц.

Ознакомиться
Всего голосов 17: ↑17 и ↓0+17
Комментарии16

Решение задач линейного программирования с использованием Python

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

Зачем решать экстремальные задачи


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

К сожалению, не всегда можно положиться на интуицию. Допустим Вы сотрудник коммерческой фирмы и отвечаете за рекламу. Затраты на рекламу в месяц не должны превышать 10 000 денежных единиц (д.е). Минута радиорекламы стоит 5 д.е., а телерекламы 90 д.е. Фирма намерена использовать радиорекламу в три раза чаще чем телерекламу. Практика показывает, что 1 минута телерекламы обеспечивает объём продаж в 30 раз больший чем 1 минута радиорекламы.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии8

Полное практическое руководство по Docker: с нуля до кластера на AWS

Время на прочтение39 мин
Количество просмотров1.7M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


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



Ого! Как много информации.

Читать дальше →
Всего голосов 125: ↑124 и ↓1+123
Комментарии44

Создание бизнес системы с самого нуля часть 1

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

Смотря на движения в корпоративном софте в России ввиду последних событий большие компании стали явным образом задумываться о том, что бы слезть с таких продуктов как SAP, Oracle E-Business Suite, Microsoft Axapta и тд, и кажется движение вроде как верное, но куда же зарулят наши корпорации и зарулят ли туда?

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии18

MLOps — Cook book, chapter 1

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


Всем привет! Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака; фиксировали любителей ездить по выделенным полосам и занимать несколько мест на парковке; следили за тем, чтобы работники носили каски, перчатки и т.п.; идентифицировали сотрудника, который хочет пройти на объект; подсчитывали всё, что только можно.


Я все это к чему?


В процессе реализации проектов мы набили шишки, много шишек, с частью проблем вы или знакомы, или познакомитесь в будущем.


Моделируем ситуацию


Представим, что мы устроились в молодую компанию “N”, деятельность которой связана с ML. Работаем мы над ML (DL, CV) проектом, потом по каким-либо причинам переключаемся на другую работу, в общем делаем перерыв, и возвращаемся к своей или чужой нейроночке.


  1. Наступает момент истины, нужно как-то вспомнить на чем ты остановился, какие гиперпараметры пробовал и, самое главное, к каким результатам они привели.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии4

Лучшие Проекты Для Начинающих Python-Разработчиков

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

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

Можно сколько угодно упираться в сухую теорию, но без применения своих знаний на практике научиться программировать невозможно. В этой статье я подобрал несколько проектов для начинающих python-разработчиков. Эти проекты помогут закрепить теорию, применить полученные знания на практике и набить руку в написании кода. Некоторые из них даже можно добавить в будущее портфолио. Я объясню, чем хорош каждый проект, какие навыки и темы он позволяет проработать, а также сориентирую какие библиотеки и технологии можно использовать для его реализации.

Цель данного "топа" – это не создание самого оригинального портфолио и не перечисление уникальных проектов. Цель статьи разобраться в простых вещах, технологиях и темах, которые помогут развить практические навыки программирования. Поэтому не стоит ждать здесь сборку Оптимуса Прайма, программирование Звезды смерти и создание двигателя на китовом жире. Мы пройдёмся по простым, но в тоже время базовым вещам. Ведь как говорил один мой приятель: «Всё великое начинается с малого».

Читать далее
Всего голосов 26: ↑23 и ↓3+25
Комментарии43

Асинхронный python без головной боли (часть 1)

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

Почему так сложно понять asyncio?

Асинхронное программирование традиционно относят к темам для "продвинутых". Действительно, у новичков часто возникают сложности с практическим освоением асинхронности.

Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.

Съешь красную таблетку
Всего голосов 135: ↑135 и ↓0+135
Комментарии58

Улучшение агента на основе Q-Learning, торгующего stocks, путем добавления рекуррентности и формирования наград

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

Напоминание


Привет, Хабр! Предлагаю вашему вниманию ещё один перевод моей новой статьи с медиума.

В прошлый раз (первая статья) (Habr) мы создали агента на технологии Q-Learning, который совершает сделки на имитированных и реальных биржевых временных рядах и пытались проверить, подходит ли эта область задач для обучения с подкреплением.

В этот раз мы добавим LSTM слой для учета временных зависимостей внутри траектории и сделаем инженерию наград (reward shaping) на основе презентаций.

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

Учим ИИ распределять пироги по магазинам с помощью обучения с подкреплением

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

Вступление


Как-то во время чтения книги «Reinforcement Learning: An Introduction» я задумался над дополнением своих теоретических знаний практическими, однако решать очередную задачу балансировки бруска, учить агента играть в шахматы или же изобретать другой велосипед желания не было.

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

Немного изменив данный пример, я и пришел к той идее, о которой далее и пойдет речь.
Читать дальше →
Всего голосов 2: ↑1 и ↓1+1
Комментарии2

TypeScript. Продвинутые типы

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

Привет, Хаброжители! Мы сдали в типографию очередную новинку
"Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений". В этой книге программисты, которые уже знакомы с JavaScript на среднем уровне, узнают, как освоить TypeScript. Вы поймете, как TypeScript поможет масштабировать код в 10 раз лучше и снова сделать программирование увлекательным.

Вашему вниманию представлен отрывок одной главы из книги «Продвинутые типы».
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии1

«Эволюция против муравьёв» сравниваем алгоритмы оптимизации

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

Решаем задачу о ранце. Муравьиный алгоритм или генетический лучше? Давайте разбираться.

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

Моя шпаргалка по pandas

Время на прочтение8 мин
Количество просмотров659K
Один преподаватель как-то сказал мне, что если поискать аналог программиста в мире книг, то окажется, что программисты похожи не на учебники, а на оглавления учебников: они не помнят всего, но знают, как быстро найти то, что им нужно.

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



Нельзя сказать, что это — исчерпывающий список возможностей pandas, но сюда входят функции, которыми я пользуюсь чаще всего, примеры и мои пояснения по поводу ситуаций, в которых эти функции особенно полезны.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+47
Комментарии8

TechnologiCS – цифровизация жизненного цикла продукции на базе одной системы

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

В 2020 году на фоне глобальной эпидемии коронавируса и введения режима самоизоляции большинство из нас смогло на собственном опыте прочувствовать, что значат эффективные ИТ-сервисы в современном мире. И речь здесь идет не столько о сервисах доставки еды, дистанционном обучении или доступе к развлекательному контенту, сколько об эффективных механизмах управления распределенными командами специалистов и о цифровых способах контроля и управления производством.

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

Читать далее
Всего голосов 8: ↑7 и ↓1+9
Комментарии0

TechnologiCS. Цифровой двойник и AR в реальном производстве

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

Идея создания цифровых двойников прочно вошла в умы всех людей, занятых модернизацией производства во всем мире. О работе команды TechnologiCS в этом направлении мы уже говорили в статье «TechnologiCS 7.9 – цифровизация всего жизненного цикла продукции на базе одной системы». Теперь пришло время обсудить элементы инфраструктуры взаимодействия пользователей с цифровым двойником. Ведь автоматизировать сбор разнородных данных и собрать на них каркас цифрового двойника не является конечной целью в процессе создания модели производства – необходимо организовать работу сотрудников с огромным объемом все увеличивающейся информации. И не просто наладить работу, а сделать ее комфортной и эффективной. Для этого следует иметь в арсенале удобные точки взаимодействия с цифровым двойником, упрощающие работу и доставляющие необходимую информацию пользователю «just in time».

Здесь мы расскажем о таких инструментах в составе цифрового двойника TechnologiCS, как очки дополненной реальности, терминалы рабочих, мобильные точки доступа, Bluetooth-метки и сервисы визуальной аналитики.

Читать далее
Рейтинг0
Комментарии0
1

Информация

В рейтинге
Не участвует
Откуда
Пусан, Pusan, Южная Корея
Зарегистрирован
Активность

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

Data Scientist