Обновить
535.42

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Все DETRы мира: denoising queries и positive anchors. Часть 2

Время на прочтение12 мин
Охват и читатели3.2K

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

Материал для ТГ-канала “Варим ML”

Читать далее

Парсинг заголовков объявлений

Время на прочтение3 мин
Охват и читатели5.3K

Доброго времени суток, уважаемое Habr-сообщество!

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

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

Читать далее

Сколько памяти нужно для запуска 1 миллиона конкурирующих задач?

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

В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir.

Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк.
Читать дальше →

Применение Python для сбора и предобработки данных цифрового следа

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

Python для сбора и предобработки данных цифрового следа.

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

Читать далее

Автоматический майнинг изображений

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

В предыдущих статьях мы рассказали, как создать фотогалерею с собственной поисковой системой [1,2]1. Но где нам найти изображения для нашей галереи? Нам придется вручную искать источники «хороших» изображений, а затем вручную проверять, является ли каждое изображение «хорошим». Можно ли автоматизировать обе эти задачи? Ответ — да.

Читать далее

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

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

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

Читать далее

Менеджер контекста это просто

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

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

Читать далее

Повторяй за мной или двигаем виртуальной камерой like a pro

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

DVD – как много в этой аббревиатуре! Уверен, что вы наверняка помните такое явление, как ларьки и палатки с дисками, исчезнувшие только к началу 2010-х годов (по крайней мере так было в столице). В один из таких ларьков в конце 2009-го заглянул десятилетний я, внимание которого тут же привлекла коробка с надписью «3D Studio Max 2010»... Аниматором я, увы, так и не стал, однако интерес к области визуальных эффектов сохранился надолго.

В поисках обучающих материалов с англо-русским словарём наперевес в один прекрасный день я забрёл на Videocopilot. В одном из уроков автор с помощью неведомой волшебной софтины под названием Boujou показал, как отследить движение камеры в отснятом материале для его дальнейшего совмещения с трёхмерной графикой, что в подростковом мозгу произвело эффект разорвавшейся бомбы. Много позже, курсе на втором-третьем, меня всё чаще посещала навязчивая мысль – а как это вообще работает?

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

Читать далее

Как я библиотеку для Дневника МЭШ писал

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

Как я писал библиотеку для Дневника МЭШ? Сколько проблем было? Как долго я хранил идею? Сколько времени понадобилось? Вы все узнаете в этой статье. Я постарался уместить кратко и понятно.

Читать далее

Как я вникал в Linux с 4 класса? Все по полочкам

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели14K

Давно, когда мне было 4-5 лет, бабушка разрешила пользоваться ее компьютером (стааарым, очень). Я так был рад, ведь мог теперь в него играть. Ну и началось. Вирусняки, неподдерживаемые файлы и т. д., и т. п. После, в доме появился Mac Mini 2010 года (мы с отцом хотим из него NAS сделать). Меня за него посадил папа с такой фразой: «Вот тебе Scratch, делай».

Читать далее

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 2

Время на прочтение6 мин
Охват и читатели15K

В предыдущей части мы частично разобрали шаблон для нашего блога, выбрали виртуальную машину и запустили на ней нативный веб-сервер Django. Однако он предназначен только для тестирования и запуска приложений во время разработки. Для обработки запросов в продакшене нужно настроить Nginx и WSGI Gunicorn. В этой статье показываем, как это сделать.
Читать дальше →

Битва медведей: Pandas против Polars

Время на прочтение8 мин
Охват и читатели16K

Привет! На связи Грегори Салиба из Spectr.

Возможно, вы прочитали название статьи и подумали, что попали на программу «В мире животных». Но нет, речь пойдет о сравнении двух  гигантов аналитики данных в Python: Pandas и Polars. В этой статье мы подробно рассмотрим вопрос быстродействия этих двух решений в части работы с файлами больших объемов.

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

Читать далее

Телеграм бот для CustDev'а на Aiogram

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели4.3K

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

Читать далее

Ближайшие события

Кластеризация текста в PySpark

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

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

На связи участники профессионального сообщества NTA Кухтенко Андрей, Кравец Максим и Сиянов Артем.

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

Узнать больше о кластеризации текста

Расщепляем AI Test Kitchen на молекулы и подключаемся к Imagen

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

Одним прекрасным днём я решил посмотреть, какие запросы отправляет мобильное Google-приложение AI Test Kitchen и наткнулся на пока-что рабочий API закрытой нейросети для генерации изображений Imagen.

Делюсь тем, как я это обнаружил, что еще интересного нашел, и ссылкой на GitHub-репозиторий реализации.

Читать далее

Определение свободного парковочного места с помощью Computer Vision

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

Всем привет! Это моя первая статья на Хабр (поэтому не судите строго).

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

Изначально идея заключалась в следующем: Модель на базе компьютерного зрения должна через веб-камеру, установленную дома, отслеживать освободившиеся места на парковке и информировать через telegram-бота если такое место появится. Работать будем на Python.

Итак, ТЗ для меня от меня сформулировано, теперь за дело!

Первое с чем необходимо было определиться, это решить, какую модель детектирования объектов использовать. Сначала мой выбор пал на Fast R-СNN. Модель показывала хорошее качество детектирования. Однако после нескольких дней прокрастинации обдумывания реализации я решил воспользоваться более современными и интересными методами и подключить детектор от YOLO (взял не самую новую 4 версию).

Читать далее

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 10. Мой пэт-проект

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели9.7K

Оглавление: Уроки компьютерного зрения. Оглавление / Хабр (habr.com)

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

Напомню, какие шаги были сделаны на прошлом уроке:

Применить медианную фильтрацию к изображению.

Провести бинаризацию.

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

Читать далее

Быстро, точно, градиентно: как наш подход к градиентному бустингу повышает эффективность моделей

Время на прочтение11 мин
Охват и читатели5.4K

Доброго времени суток, уважаемые читатели! Сегодня мы вновь рады приветствовать вас в увлекательном мире дата-сайентистов банка "Открытие". На связи Иван Кондраков, Константин Грушин и Станислав Арешин. Недавно мы поделились с вами нашим пайплайном разработки линейных моделей для решения задач бинарной классификации. Теперь же мы решили поведать о нашем опыте построения моделей градиентного бустинга. За последнее время команда проделала колоссальную работу: мы протестировали различные методы отбора факторов, нашли новые инсайты в данных, провели интересную (а, главное, полезную!) аналитическую работу и решили несколько Ad-hoc задач. Зовите всех к экранам, мы начинаем!

Го к туториалу

Пишем на Python, как будто это Rust

Время на прочтение19 мин
Охват и читатели11K

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

Читать далее

Как я использовал Pytest для написания тестов, гарантированно обходящих двухфакторную аутентификацию

Время на прочтение10 мин
Охват и читатели6.1K

Тестирование страниц входа и согласия может быть довольно сложным: та же самая двухфакторная аутентификация (2FA), которая обеспечивает безопасность ваших клиентов, также затрудняет написание автоматизированных тестов. В этой статье я расскажу, как написал Python-тесты, которые обходят 2FA и при этом не покушаются на  безопасность клиентов. Для этого я использовал Selenium и разработал Slackbot.

Читать далее

Вклад авторов