Как стать автором
Обновить
0
Михаил @Ocean_77read⁠-⁠only

Пользователь

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

Разворачиваем ML модель с использованием ONNX на Android в километре над землей

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.3K

Иногда в жизни программиста возникают интересные задачи. Например, как перенести полученную ML модель, созданную в Python, на Android смартфон. Потому что этот самый смартфон пристегнут к параплану, висящему в километре над землей, а модель должна помогать пилоту лучше искать восходящие потоки.

Интернета в полете при этом обычно нет, так что вариант с доступом к удаленному Python-серверу по API отпадает. Ноутбук с запущенным Jupyter с собой тоже не возьмешь.

На помощь приходит промежуточный формат ONNX, созданный для обмена ML моделями между разными системами. Под катом описание того, как сконвертировать модель в этот формат и как загрузить и использовать ее в Android приложении.

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

Как я собрал красивое ведро для гидропоники

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

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

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

Читать далее
Всего голосов 98: ↑108.5 и ↓-10.5+119
Комментарии148

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

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

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Всего голосов 18: ↑21 и ↓-3+24
Комментарии13

Знай сложности алгоритмов

Время на прочтение2 мин
Количество просмотров987K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Всего голосов 312: ↑296 и ↓16+280
Комментарии99

Мечтают ли компьютеры строить дома? или Как заставить нейросети определять ремонт в квартирах и улучшать объявления

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

Как для большинства выглядит процесс постройки дома? Котлован, песок, цемент, какие-то блоки, снующие люди и техника, шум, пыль на пару лет и вот, дом готов. На самом деле всё давно не так. Точнее, так, но это, как говорится, frontend. Но строительство уже давно процесс не физический, а киберфизический. Поэтому есть у него и backend. Это работа с данными на всех этапах, от планирования до оценки ремонта, использование нейросетей для анализа объявлений о продаже, построение экономических моделей и множество всего. В общем, создание дома — это IT-проект, который начинается задолго до возведения здания и не заканчивается после сдачи жителям, т.к. во время эксплуатации продолжается сбор и обработка данных. Меня зовут Алексей, я техлид в команде Data Science по направлению Computer Vision в Самолете, и сейчас вам всё расскажу.

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

Как я несколькими промптами создал торговый индикатор на Pinescript (TradingView)

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

Впечатления от использования бесплатного помощника генерации кода.

Я уже предпринимал попытки освоить Pinescript года 3-4 назад, когда только увидел всё многообразие торговых индикаторов в TradingView. И я точно помню своё ощущение бессилия, потому что толковых методичек я не нашел. А сегодня, через Ai-помощника смог сделать то что хотел - за несколько промптов, совершенно ничего не зная в языке и как эти индикаторы строятся. Согласитесь, очень странное впечатление, когда пишешь что-то, копируешь, вставляешь, и у тебя ещё и получается! Это ЭКСТАТИЧЕСКОЕ ощущение 😅.

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

Генерация статических сайтов с Hugo

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

Иногда появляется необходимость в создании простого сайта. К примеру, личного блога, документации продукта или веб-версии резюме на нескольких языках, которым можно будет делиться по ссылке. Если нет времени разбираться с веб-разработкой, надо получить быстрый результат и не хочется пользоваться конструкторами, то в этом случае могут помочь генераторы статических сайтов. В этой статье рассмотрим популярный генератор Hugo и сделаем с его помощью простой мультиязычный блог.

Читать далее
Всего голосов 34: ↑32 и ↓2+30
Комментарии14

Один Hugo сайт, Две Hugo темы

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.9K

Как показала практика, Hugo - очень гибкий инструмент построения собственных веб-сайтов.

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

Об одной такой "штуке" и пойдёт речь в этой статье.

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

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Уровень сложностиСложный
Время на прочтение34 мин
Количество просмотров12K

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

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

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

Детекция объектов. YOLO. Часть 2

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.1K

Кто такой YOLO? 🤔

Когда пытаешься разобраться в работе YOLO по статьям в интернете, постоянно натыкаешься на примерно такое объяснение: «Алгоритм делит изображение сеткой SxS, где каждому элементу этой сетки соответствует N ббоксов с координатами, предсказаниями классов и тд...». Но лично мне становилось только непонятнее от такого высокоуровнего описания.. Ведь в исследованиях часто всё происходит примерно так: перебирают гипотезы, пока не получат приемлемый результат, а потом уже придумывают красивое описание. Поэтому для ясности хочется в данной статье рассказать, как вообще приходили к идеям, которые ложились в основу YOLOv1 и последующих версий.

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

KD+SM Uplift Modeling. Вошли и вышли, приключение на 20 минут

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров564

В современном интернет-маркетинге уделено довольно мало внимания Uplift моделированию. Cам Uplift не страдает от недостатка внимания со стороны маркетинга, а вот его корректный расчет - да. Как правило, Uplift моделирование представляет собой набор неких эвристик, незамысловатой статистики и различных бизнес-инструментов. В лучшем случае, это относительно современные и простые ML-модели, которые совершают расчеты с большим количество допущений, что влечет за собой некорректные и нестабильные результаты.

Такие решения, как правило объясняются желанием со стороны бизнес‑заказчика или же отдела аналитики сделать продукт «быстро и сердито», без долгого и тяжелого вовлечения во все нюансы и подводные камни Uplift моделирования. Задача действительно непростая, пользователи видят десятки рекламных баннеров, успевают повидать по несколько вариаций дизайна страниц сайта, при всем этом получая электронные письма, либо пуши с предложением скидки на продукцию. Конечно же, при такой «бомбардировке» пользователя довольно трудно понять на частном уровне, какая кампания лучше поспособствовала формированию желания что‑то у Вас купить.

Это цикл статей, посвященный KD+SM Uplift моделированию (Knowledge Distillation and Sample Matching) — относительно новой архитектуре Uplift моделирования, использующей весь современный арсенал ML и DL решений на текущий день. Можно сказать, что KD+SM это даже целый pipeline решений, который состоит из препроцессинга данных, нескольких ML моделей, и нейронных сетей. Модели «общаются» друг с другом, на каждом из этапов обогащают данные новыми синтетическими знаниями и передают уже модифицированные данные дальше по pipeline. Именно поэтому мы уложим всю работу в несколько статей, начиная с вводной статьи и заканчивая прикладным применением KD+SM Uplift на реальных данных.

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

Celery для новичков

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

Привет, Хабр!

Celery – это асинхронная распределенная очередь задач, написанная на Python, она предназначена для обработки сообщений в реальном времени при помощи многозадачности. Используя Celery, можно организовать выполнение задач в фоновом режиме, не загружая основной поток приложения.

Используя Celery можно легко организовать выполнение фоновых задач.

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

Детекция объектов. R-CNN, Fast R-CNN, Faster R-CNN. Часть 1

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.3K

Кто такой детектор?

Данная статья посвящена постановке задачи детекции и обзору первых двухстадийных детекторов, таких как: R-CNN, Fast R-CNN и Faster RCNN.

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

Как мы решили вопрос с размещением Телеграм-бота

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

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

Для опытных разработчиков, уже имеющих собственные решения и методы работы, материал окажется базовым. Я поделюсь своим опытом организации работы чат-бота @world_for_life_bot, предлагая это как пример базового решения. Моя цель - показать, как можно развернуть бота за 15-30 минут, включая установку всех необходимых зависимостей.

Читать далее
Всего голосов 26: ↑18 и ↓8+10
Комментарии15

Распознавание алфавита глухонемых с помощью нейронной сети

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.4K

Сама тема сурдоперевода мне близка, т.к. я сам на нем немного разговариваю на пальцах. Поэтому темой диплома я выбрал – компьютерное зрение и алфавит глухонемых.

Первоначальная задумка была yolov5 + сверточная сеть. 

Некоторые буквы алфавита динамические, например «б», «д», «з» , «й» и т.д. поэтому на первом этапе пришлось откинуть некоторые буквы, кстати буквы «ё» вообще нет в алфавите. Для упрощения демонстрации были добавлены жесты «spoke» и средний палец. Средний палец уж обязательно кто-нибудь покажет в камеру ;) 

Читать далее
Всего голосов 26: ↑25 и ↓1+24
Комментарии16

Как я искал пацанский движок для блога

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


Я много пишу в интернетах и мне захотелось завести свой личный стэндалон блог, куда можно писать мелкие заметки и статьи, не подходящие для других площадок. Главная проблема личного блога — мне лень оформлять посты. Чтобы черкануть пару строк в каком-нибудь Wordpress, нужно слишком много телодвижений. Я попробовал несколько разных движков и каждый раз ловил себя на ощущении, что мне не хочется ими пользоваться, намного быстрее и проще писать в записную книжку вроде Evernote или Notion. Так я стал искать идеальный движок для блога, отвечающий всем моим потребностям.

Мои требования к идеальному движку:


  • Желательно self-hosted — я пережил много закрытий сервисов, от narod.ru до google+ и точно знаю, что рано или поздно все протухает, поэтому надежнее всего держать контент у себя. Также посты могут удалять по каким-то фейковым жалобам или по DMCA, как это происходит на Medium и LiveJournal.
  • Возможность подключения своего домена — мне нужен сайт-визитка со всеми проектами и ссылками в одном месте, где можно разместить портфолио, резюме, контакты.
  • Минимум телодвижений и интерфейса — в идеале интерфейса CMS вообще не должно быть видно, админская панель не нужна, посты должны редактироваться, создаваться и просматриваться в одном месте.
  • Полноценный WYSIWYG редактор — поддержка разметки Markdown и обработка её в реальном времени, подсветка кода, вставка картинок из буфера обмена.
  • Нормальные комментарии — возможность оставлять анонимные комментарии и авторизовываться через максимум соц. сетей для персонифицированных комментариев.
  • Минималистичный внешний вид — я не хочу заниматься версткой и темами, подходящее оформление должно быть из коробки.


Внутри я рассказываю какой вижу идеальную CMS, редактор постов и комментарии, почему большинство существующих движков устарели на десять лет, и сравниваю между собой разные движки.
Всего голосов 94: ↑87 и ↓7+80
Комментарии80

Основы обработки радиолокационных данных дистанционного зондирования Земли

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров5.8K

В настоящее время все более востребованными становятся данные радиолокационного наблюдения (РЛН) с космических аппаратов дистанционного зондирования Земли. Наблюдая повышенный интерес к этой предметной области с одной стороны и явный недостаток информационных материалов по теме обработки радиолокационных данных ДЗЗ с другой, решили написать статью, которая, надеемся, будет полезна для всех интересующихся темой ДЗЗ.

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

Transfer Learning: как быстро обучить нейросеть на своих данных

Время на прочтение11 мин
Количество просмотров46K
Машинное обучение становится доступнее, появляется больше возможностей применять эту технологию, используя «готовые компоненты». Например, Transfer Learning позволяет использовать накопленный при решении одной задачи опыт для решения другой, аналогичной проблемы. Нейросеть сначала обучается на большом объеме данных, затем — на целевом наборе.

Food recognition

В этой статье я расскажу, как использовать метод Transfer Learning на примере распознавания изображений с едой. Про другие инструменты машинного обучения я расскажу на воркшопе «Machine Learning и нейросети для разработчиков».
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии8

Торговый бот на Python с нуля (с использованием Binance API), часть 2

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров18K

Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!

В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных стратегиях. Мы подробно разберем реализацию стратегии Боллинджера на python, и напишем production-ready код!

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии30

Майнд-карта успешной физической трансформации. Питание. Тренировки. Мотивация

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

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

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

Успехов тебе!

Читать далее
Всего голосов 30: ↑25 и ↓5+20
Комментарии26
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность