Pull to refresh
71
0
Андрей @AndrewSu

Разработчик интересных штук

Send message

DETR: Бесконечная история

Level of difficultyHard
Reading time13 min
Views908

Всем привет, с вами команда Layer!
Мы рады сообщить, что совсем скоро выйдет наша новая исследовательская работа, посвященная поиску моментов в видео, релевантных пользовательскому запросу. Мы хотим сделать эту работу как можно более доступной для каждого, кто хочет глубже разобраться в теме. Поэтому мы решили написать этот небольшой туториал, посвященный семейству моделей DETR, так как они используются не только для детекции котиков на картинках, но и в таких необычных доменах, как детекция моментов в видео. Мы уверены, что среди читателей многие знакомы с основами DETR, однако подозреваем, что не все могли следить за её развитием. Всё‑таки по сравнению с YOLO, DETRу пиара явно не достает. В этой статье мы предлагаем краткий обзор эволюции модели, чтобы помочь вам лучше ориентироваться в новых исследованиях. Если же вы впервые слышите о DETR или хотите освежить свои знания, то бегом читать — тык, если после прочтения остались вопросы, то можно ознакомиться с этими видео — тык, тык.

Давайте детальнее разберёмся, что ждёт вас в этом туториале. Сначала мы рассмотрим недостатки оригинальной версии DETR, а затем перейдём к архитектурным улучшениям, которые либо устранили эти проблемы, либо заметно их сгладили. Начнём с Deformable DETR — модели, которая оптимизировала вычисления. Затем обратим внимание на Conditional DETR и DAB DETR — архитектуры, которые существенно переосмыслили роль queries в модели. Далее мы погрузимся в особенности DN‑DETR, который стабилизирует one‑to‑one matching. После этого детально разберём DINO DETR — модель, которая объединяет и улучшает идеи DN‑DETR и DAB‑DETR, а также переизобретает RPN для детекционных трансформеров. И в завершение нашего путешествия мы познакомимся с CO‑DETR, который объединил классические детекторы, такие как ATSS, Faster RCNN, и модели типа DETR, установив новые SOTA метрики на COCO.

Читать далее
Total votes 17: ↑17 and ↓0+21
Comments0

Весь Росатом работал на Джире — и что случилось в день Х

Reading time10 min
Views127K
image

В 2018–2019 году мы уже догадывались, что нужно какое-то импортозамещение, потому что как-то немного странно, что Росатом зависит от зарубежного вендора. Джира проникала в структуру незаметно и понемногу, и в какой-то момент оказалось, что на ней ведутся многие проекты кроме строительства АЭС и других объектов. И речь не про ИТ-проекты, а вообще про все проекты, которые у нас есть.

Пару лет мы лежали в сторону поиска аналога (которого на самом деле нет).

1 февраля 2021 году Atlassian объявил о прекращении поддержки серверной версии. Решили запланировать переезд в дата-центр, но увидели, что это такой хитрый способ поднять цену в полтора раза. Стало грустно, но аналогов на рынке всё ещё не было.

Потом был технический сбой на 2 недели. Люди за 2 недели потеряли свои данные. Стало ещё грустнее.

Потом пришло письмо счастья, что аккаунты РФ будут отключены. Но сроки не обозначили.

В общем, мы опять огляделись в поисках аналогов для проектов нашего масштаба, взяли решения нескольких вендоров для сравнения, чуть не сошли с ума от прекрасных стратегий их продажи и доработок продуктов прямо во время презентаций, плюнули и написали своё отраслевое решение. Которое ещё и предлагаем другим российским компаниям.
Читать дальше →
Total votes 270: ↑249 and ↓21+284
Comments325

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию

Level of difficultyEasy
Reading time12 min
Views106K

Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

Читать далее
Total votes 131: ↑130 and ↓1+158
Comments162

Как разбить GPU на несколько частей и поделиться с коллегами: практическое пособие по работе с MIG

Reading time13 min
Views8K

Привет, Хабр! Меня зовут Антон, я — DevOps-инженер в отделе Data- и ML-продуктов Selectel. Последние три месяца исследовал интересную проблематику — шеринг GPU между конкурентными процессами и пользователями. В русскоязычном сегменте не смог найти ни одного оригинального материала — только переводы англоязычных статей.

После посещения пары докладов понял, что тема особенно актуальна: компании знают о шеринге GPU как о технологии, но пока не применяют ее. У меня же накопилось достаточно материалов, чтобы осветить эту тему более подробно и показать, как работает шеринг GPU на практике. Интересно? Самое время погрузиться под кат!
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments11

Заметки про увеличение картинок нейронными сетями

Level of difficultyHard
Reading time28 min
Views6.7K


TLDR — это не готовое решение, это попытка самостоятельно разобраться, подобрать архитектуру и обучить генеративно-состязательную модель (GAN) для увеличения картинок в 2 или 4 раза. Я не претендую на то, что моя модель или путь рассуждений лучше каких-то других. Кроме того, относительно недавно стали популярны трансформеры и diffusion модели — заметки не про них.


С заметками не получилось линейной структуры повествования — есть отступления "в сторону" и уточнения. Можно пропускать нерелевантные заметки. Например, описание подготовки данных нужно, если вы хотите воспроизвести эксперименты — а в остальных случаях можно пропустить. Я написал каждую отдельную заметку по-возможности цельной и независимой от других.


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


Для обучения оказалось достаточно возможностей моего ПК. Какие-то простые эксперименты занимали десятки минут или несколько часов, самый длинный с обучением финальной большой модели — трое суток.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments9

Как работают text2image модели?

Reading time6 min
Views19K

Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали! В этой статье будем разбираться, как такие модели работают. Начнем с азов и потихоньку накидаем деталей и техник генерации.

Читать далее
Total votes 62: ↑61 and ↓1+77
Comments4

Микросервисы — отчуждение от результатов труда

Reading time15 min
Views64K

Поветрия

Я наблюдаю за развитием IT в течение приблизительно четверти века, и с каждым днём меня всё сильнее удручает происходящее.

Постоянно мы слышим, что какой-нибудь паттерн или язык становится всё более модным, а что-то, напротив, — уходит в историю. А ещё различные поветрия о "хорошо или плохо" будто волнами перекатываются через это вот всё.

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

Увы, новые вещи (коих не так чтобы вообще есть) всё чаще приносят с собой и очевидно деструктивные, будто навязываемые извне, паттерны.

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

В этой статье я хотел бы поговорить о причинах происходящего.

Если кому-то интересно - под кат
Total votes 251: ↑183 and ↓68+158
Comments1018

Лучшие новые библиотеки Python за 2022 год

Reading time10 min
Views34K

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

Читать далее
Total votes 21: ↑20 and ↓1+23
Comments14

Лучшие open-source инструменты для Python проектов

Reading time12 min
Views35K

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

Инструменты распределены по этапам/сферам разработки. По каждому из них я дам небольшое описание и попытаюсь рассказать о его пользе. Если утилита имеет дополнительные расширения/плагины, то я расскажу про самые полезные (на мой взгляд).

Читать далее
Total votes 33: ↑30 and ↓3+35
Comments9

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

Reading time23 min
Views233K

Я люблю давать простые задачки студентам на лекции. Во-первых, понятно, скольких мы потеряли, во-вторых, это переключение из режима потребления информации в режим выдачи результатов, в третьих — возможность проявить себя для шустрых. Сплошные плюсы!

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

Это было бы смешно, если бы от способности быстро в уме прикинуть результат не зависела способность быстрее создавать сложные алгоритмы. 

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

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

Читать далее
Total votes 324: ↑308 and ↓16+373
Comments795

Ускорение инференса модели BERT с помощью ONNX и ONNX Runtime на примере решения задачи классификации текста

Reading time12 min
Views7.7K

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

Сделан обзор на актуальные подходы для ускорения работы нейронных сетей, представлены библиотеки ONNX и ONNX Runtime.

Проведены тесты с использованием фреймоворков ONNX и ONNX Runtime, используемых для ускорения работы моделей перед выводом их в продуктовую среду.

Представлены графические зависимости и блоки кода.

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments8

Где скачать научную статью легко и доступно?

Reading time1 min
Views93K

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

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

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

Читать далее
Total votes 89: ↑89 and ↓0+89
Comments26

Импортозамещаю Netflix себе в дом

Reading time7 min
Views38K

В связи с уникальной сложившейся политической ситуацией в Российской Федерации, меня отключили от моей честно оплаченной подписки на сервис Netflix. Также, с уходом больших кинокомпаний с российского рынка, не остается большой надежды на трансляцию свежего кино и сериалов в отечественных онлайн кинотеатрах. Поэтому я принял волевое решение создать домашний сервер для видеохостинга, а также скачивания и раздачи торрентов на одноплатном компьютере Raspberry Pi, который был куплен по наитию и, как и у тысяч программистов-энтузиастов по всему миру, лежал без дела который год.

Читать далее
Total votes 43: ↑32 and ↓11+38
Comments104

Магия ssh

Reading time12 min
Views68K

Разве что ленивый не писал про ssh и несмотря на это, данный протокол и его возможности не перестают меня восхищать. Здесь я хочу поделиться исключительно своим опытом использования сего замечательного инструмента в своих задачах (При этом активно применяю его даже при разработке на Windows).

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

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →
Total votes 82: ↑74 and ↓8+89
Comments133

Автоматическое тестирование QT GUI с помощью python и funq

Reading time5 min
Views10K

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments5

Fuchsia OS глазами атакующего

Reading time34 min
Views32K

Fuchsia — это операционная система общего назначения с открытым исходным кодом, разрабатываемая компанией Google. Эта операционная система построена на базе микроядра Zircon, код которого написан на C++. При проектировании Fuchsia приоритет был отдан безопасности, обновляемости и быстродействию.

Как исследователь безопасности ядра Linux я заинтересовался операционной системой Fuchsia и решил посмотреть на нее с точки зрения атакующего. В этой статье я поделюсь результатами своей работы.

Читать далее
Total votes 148: ↑148 and ↓0+148
Comments18

Нечёткое сравнение строк: пойми меня, если сможешь

Reading time8 min
Views62K
image
Привет!

На естественном языке сказать об одном и том же факте можно бесконечным числом способов. Можно переставлять слова местами, заменять их на синонимы, склонять по падежам (если говорим о языке с падежами) и тд.

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

Результатом работы, описанием процесса, кодом на git'е готов поделиться с вами.

Итак, кратко задачу можно озвучить так: «С определенной периодичностью из различных источников приходят актуальные новости. Необходимо фильтровать их таким образом, чтобы на выходе не было двух новостей об одном и том же факте.»
Предупреждение: в статье присутствуют заголовки реальных новостей. Я отношусь к ним исключительно как к рабочему материалу, не представляю какую-либо точку зрения на политическую или экономическую ситуацию в какой бы то ни было стране.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments8

Как работает неточное сравнение строк

Reading time7 min
Views28K

https://fakt309.github.io/thisisthewall/

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

Но вот что если мы хотим не просто получать дискретное значение (true / false), а дифференцированное, например в процентах. Ведь согласитесь строки test и testing гораздо ближе к друг другу, чем test и abcd. Для данной проблемы существует множество решений, мы поговорим о самый популярных алгоритмах (также об их модификациях):

Расстояние Хэмминга

Расстояние Левенштейна

Сходство Джаро — Винклера

Коэффициент Сёренсена

Читать далее
Total votes 45: ↑42 and ↓3+44
Comments43

Cron — лучшие практики

Reading time9 min
Views68K

Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Total votes 38: ↑35 and ↓3+35
Comments45

Information

Rating
Does not participate
Registered
Activity