Обновить
534.26

Python *

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

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

Классификация с CNN. Перевод статьи 2012: «ImageNet Classification with Deep Convolutional Neural Networks»

Уровень сложностиСложный
Время на прочтение20 мин
Охват и читатели982

Мы обучили большую глубокую сверточную нейронную сеть для классификации 1.2 миллиона изображений высокого разрешения из конкурса ImageNet LSVRC-2010, распределённых по 1000 различных классов. На тестовых данных мы достигли показателей ошибок top-1 и top-5, равных 37.5% и 17.0%, что значительно лучше предыдущих рекордов. Нейронная сеть, содержащая 60 миллионов параметров и 650 000 нейронов, состоит из пяти сверточных слоёв, некоторые из которых сопровождаются слоями подвыборки (max-pooling), а также трёх полносвязных слоёв с итоговым softmax на 1000 классов. Для ускорения обучения мы использовали нейроны, не насыщаемые на больших значениях, и очень эффективную GPU-реализацию операции свертки. Чтобы уменьшить переобучение в полносвязных слоях, мы применили недавно разработанный метод регуляризации под названием «dropout», который оказался очень эффективным. Мы также представили вариант этой модели на конкурсе ILSVRC-2012 и добились победы с ошибкой top-5 на тестовых данных 15.3%, в то время как второй лучший результат составил 26.2%.

Читать далее

Dagster: новый стандарт для ETL в 2025?

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

Мы живем в век данных и data-driven подхода. Есть продуктовые компании, где даже минимальные изменения в продукте обязаны пройти A/B-тест перед релизом (который из-за этого может и не состояться). С бумом данных и AI произошел и бум ETL (Extract, Transform, Load) инструментов. Сейчас, в 2024 году, выбор действительно впечатляет, даже если ограничиться только open source-решениями:

Читать далее

Простые лайфхаки для автоматизации работы с помощью Python

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

Если какое-то действие приходится выполнять слишком часто — значит, пора его автоматизировать.

Разбираю полезные скрипты — от работы с файлами до DevOps. В каждом разделе есть примеры для новичков и более опытных разработчиков. А в конце статьи — несколько простых правил, которые помогут писать удобный и надёжный код.

Читать далее

Poetry vs UV: удобство или скорость?

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

Привет! Это Леша Жиряков, техлид backend-команды витрины онлайн-кинотеатра KION. В прошлый раз я писал про Msgspec vs DataClasses, а сегодня поговорим о пакетных менеджерах. 

В жизни каждого разработчика наступает момент, когда нужно воспользоваться сторонней библиотекой — для работы с данными или отправки запросов в БД. А после выбора библиотеки и версии — использовать менеджер пакетов.

Читать далее

Автоматизация тестирования САПР: от идеи до работающей системы

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

Тестирование САПР-приложений вручную — это бесконечный цикл однотипных проверок после каждого релиза. Открыть файл, кликнуть тут, кликнуть там, проверить 3D-модель. Снова и снова. Один QA тратит на полный регресс неделю, а при этом риск пропустить баг остаётся высоким.

В этой статье я расскажу, как наша команда построила систему автотестирования для САПР с нуля на Python и PyAutoGUI. Мы создали три ключевых компонента: рекордер для захвата действий пользователя, систему доставки обновлений через FTP и виртуальные машины, и движок для воспроизведения тестов из JSON-сценариев.

Особенность подхода — модульная архитектура, где каждый блок решает свою задачу: от записи пользовательских действий до автоматической проверки результатов через сравнение скриншотов. Всё это работает в VirtualBox в headless-режиме с параллельным запуском нескольких тестов.

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

Читать далее

LitestarCatsCV. Тренируемся на кошках. Пробуем litestar и другое новьё. Часть 1

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

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

Для начала придумаем проект, который не займёт много времени(надеюсь) и над которым будет интересно посидеть пару вечеров.

Читать далее

Как создать систему расшифровки после звонка для Битрикс24

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

Привет, Хабр! Сегодня поговорим о том, как расшифровывать звонки с клиентами через CRM-систему Битрикс24 вместо CoPilot. Для автоматизации подключим платформу МТС Exolve. Вы сможете получать все записи с транскрибацией в личном кабинете и сохранять их в карточке сделки с клиентом.

Читать далее

Автоматизируем учёт облигаций: как избавиться от рутины

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

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

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

В статье - детальный разбор, примеры и пошаговые инструкции. Сам скрипт доступен в open-source и уже готов к использованию. Код - на GitHub!

Собираем, анализируем, удивляемся 📊

Компилятор за выходные: синтаксический анализатор Уорли

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

Изначально, когда я решил написать компилятор за выходные, я решил, что нет смысла заморачиваться, и использовал сторонний лексический / синтаксический анализатор. Мой выбор пал на SLY, довольно известную библиотеку. И действительно, пара часов работы, и мой компилятор прекрасно строил синтаксические деревья из исходного кода на wend. Я пытался было заглянуть под капот, утонул в море технических терминов (LL(1), LR, LALR(1) и тому подобное), и решил, что парсинг своими руками - это не для меня, теория формальных языков меня слабо интересует. Однако же в итоге выяснилось, что базовый синтаксический анализатор - это не так сложно, и я закатал рукава.

Читать далее

Проверка IFC моделей по требованиям IDS

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

В сфере строительного проектирования все больше места занимают технологии информационного моделирования (ТИМ). главным форматом обмена данных в ТИМ является формат IFC. Модели в этом формате требуют как коммерческие заказчики, так и государственная экспертиза.

Работа с собственными форматами программных решений для информационного моделирования (такими как RVT) обычно не вызывает затруднений благодаря широкому функционалу, предоставляемому разработчиками программного обеспечения. Однако формат IFC часто вызывает вопросы из-за нехватки специализированных инструментов и знаний.

Одним из таких вопросов является создание чётко сформулированных требований к моделям IFC и последующая их проверка на соответствие этим требованиям.

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

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

Читать далее

Taigram: Начало работы

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

Всем привет!

На этой неделе мы объявили о начале работы над Open Source проектом Taigram, название которому, к слову, выбрали вы в опросе.

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

Проектом занимаемся мы вдвоём: Иван и Виктор, а также с логотипом нам помог наш бессменный дизайнер Евгений. (Больше никто не захотел к нам присоединиться 😭)

Начнём мы, как водится, с самого начала...

Читать далее

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

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

Всем привет👋🏻

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

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

Присаживайтесь поудобнее, заварите кофейку и запаситесь печеньки, нам предстоит интересный путь🍪

Go little rockstar⭐

Смогу ли я уложить оптимизирующий компилятор в тысячу строк питона? Прогон первый: mem2reg

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

Год назад мне пришлось взять на себя курс лекций по теории компиляторов. Вы встречались некомпетентными преподавателями? Это я, здравствуйте! Прежде чем учить других, я всё-таки решил заглянуть в учебник сам, и это вылилось в серию статей "компилятор за выходные" (да, я помню, что за мной должок с описанием лексера/парсера). В итоге я уложил компилятор со мной придуманного си-подобного языка на GNU ассемблер в шестьсот строк кода, причём без внешних зависимостей, включая парсинг.

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

Итак, тема сегодняшнего разговора - вынос переменных из памяти в регистры, оно же оптимизационный проход mem2reg, см. кпдв.

Читать далее

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

Автомодерация изображений: как исправлять нарушения, сохраняя количество и качество контента

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

Привет! Меня зовут Владимир Морозов, я старший дата-сайентист в отделе автоматической модерации Авито. Раньше мы блокировали объявления, которые нарушают правила публикации, а теперь исправляем — с помощью ML-системы. Так мы сохраняем количество контента, сокращаем стоимость модерации и улучшаем пользовательский опыт. В статье подробно расскажу обо всех этапах внедрения новой ML-механики: от идеи и исследования подходов до оптимизации нейронок и вывода в продакшен.

Читать далее

Телеграм-бот для бронирования столов на вебхуках: FastAPI, Aiogram Dialog, FastStream и RabbitMQ в единой экосистеме

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

В этой статье мы создадим функционального Telegram-бота для бронирования столиков в ресторане «Binary Bites» с использованием современных Python-инструментов. Бот будет работать через вебхуки, взаимодействовать с брокером сообщений RabbitMQ и поддерживать фоновое выполнение задач с помощью FastStream и APScheduler.

Проект объединит FastAPI, SQLAlchemy, Alembic, Uvicorn и другие библиотеки, обеспечивая гибкость и масштабируемость. Готовый бот позволит пользователям бронировать столики, просматривать и отменять брони, а администраторам — управлять заказами.

Читать далее

Как создать скрипт-beautifier в Ghidra на Python?

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

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

Если вы уже имели опыт работы с дизассемблером, то заметили, что читать его вывод не так легко, если целью является понять более высокие абстракции, заложенные в нём. Возможно, вы даже пытались декомпилировать его в псевдокод, но работать с переменными типа local_1-999 – то ещё удовольствие. Да, можно щёлкнуть на каждую из них и присвоить имя на основе логики. А что, если у вас 2000 строк и более?

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

Все манипуляции были проделаны на версии 11.1.2. Чтобы попасть в список доступных скриптов, откройте меню Window → Script Manager и там же создайте новый скрипт, нажав в правом верхнем углу кнопку Create New Script и выбрав язык Python.

Важное ограничение: Ghidra использует внутреннюю реализацию языка Python версии 2.7.

Читать далее

Бот для проверки орфографии и пунктуации через GPT-4o на Python

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

Я не обладаю природной грамотностью, и мне бывает мучительно стыдно за то, что я пишу. Для приведения текстов в минимально читабельный вид я использую специальные сервисы, которые проверяют орфографию и пунктуацию. И сегодня мы попробуем не просто использовать такой сервис, а написать свой. В этой статье мы напишем и задеплоим Telegram бота, который проверяет грамматику.

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

Саму проверку грамматики осуществляет GPT-4o, что нам даст возможность легкой корректировки и адаптации решения к реальным кейсам в случае необходимости.

Читать далее

Моделирование управления AC двигателя — Field oriented control of PMSM с помощью opensource решений

Уровень сложностиСложный
Время на прочтение50 мин
Охват и читатели5.2K

В этой статье я хочу поделиться результатом своих исследований в области моделирования систем управления двигателями переменного тока. В качестве объекта управления был выбран синхронный двигатель с постоянными магнитами PMSM (Permanent Magnet Synchronous Machine) как наиболее распространенная машина в современных транспортных средствах. Основное внимание будет уделено построению математической модели системы, объекта управления, и алгоритмов для симуляции. Для реализации модели я выбрал open source решения: Python control, Scilab. Мне было интересно, возможно ли использование свободных средств моделирования для построения более-менее сложных и реальных систем. Далее я поделюсь своими впечатлениями. В первой части статьи приводится теоретический материал, где описываются основные уравнения двигателя и элементы теории управления. Для теоретической части необходимы базовые понимания электротехники, ниже приложу ссылки, где можно обновить знания. Я постарался проработать разные источники литературы, чтобы взять необходимый минимум, с которым самому пришлось столкнуться для понимания сути процессов управления двигателем. Читатель вправе пропустить матчасть и перейти сразу к описанию реализации, и при необходимости вернуться к некоторым теоретическим аспектам в этом материале, или других источниках. Реализация алгоритмов управления построена по классическому принципу с помощью диаграммы потоков.

Читать далее

EDA of dataset Python

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

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

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

Очищать грязные данные можно c PandasРассмотрим основные методы.

Читать далее

Порядок работы с устареванием ML моделей. Шаг 2: Создание надежных и долговечных моделей

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

Еще на этапе создания модели следует проделать работу направленную на замедление ее устаревания.

Реализацию процесса работы с устареванием моделей в ML можно разделить на 4 шага.

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

Мы пройдем полный путь создания модели и работы над замедлением ее устаревания.

Читать далее

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