Все потоки
Поиск
Написать публикацию
Обновить
415.13

Python *

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

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

EDA of dataset Python

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

Эксперимент, программирование с минимальным участием программиста-человека. Новый этап эволюции или начало деградации

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

Не обладая нужными знаниями, не смог создать что то подобное текущему воплощению рассуждений в "топовых" языковых моделях, но моих навыков хватило быть неплохим учителем для модели, проверяя её решения, указывая на ошибки для дальнейшего создания работающего решения, конечно это не обучение с подкреплением, а теорема о бесконечных обезьянах в действии... Результат? Telegram бот, работающий на gpu nvidia и intel, созданный языковой моделью.

посмотреть

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

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

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

Читать далее

Создание растрово-векторной базы данных на примере скрипта с использованием FAISS и предобученной модели ResNet50

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

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

Читать далее

Как научить модель рассуждать, не переобучая её, меньше чем за 10$

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

Это статья обобщение моего исследования передачи знаний от большой модели с замороженными весами в малую модель, которую мы будем обучать через расширенный механизм кросс внимания или проще говоря через LLM модули. Оригинальное исследование доступно по ссылке: arxiv.org/abs/2502.08213 . Репозиторий с кодом и весами доступен на Hugging Face: LLM модули.

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

Читать далее

Декораторы Python. Введение

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

Всем привет, меня зовут Аббакумов Валерий.

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

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

Я прикреплю ссылки на смежные статьи (тоже хороший материал, но ИМХО в них либо странная подача либо некоторая неполнота), мне кажется, что мой материал в разрезе 3 статей на каждую тему будет лаконичней и полней, но тут уже решать только вам, дорогие читатели

Читать далее

Обучить модель RoBERTa расстановке запятых на балконе для продакшена

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

RoBERTa — улучшенная версия модели BERT, разработанная Facebook AI. Она показывает отличные результаты в задачах обработки естественного языка, таких как классификация текстов и генерация ответов.

Построим конкурентоспособный сайт расстановки пунктуации, обучив свою нейронную сеть. Для прогнозирования популярности в поисковой выдаче начнем с анализа запросов Вордстат: расставить запятые – 290 000 запросов/месяц; расставить точки – 15 000 запросов/месяц.

По статистике, 95% запросов посвящены запятым, уделим им особое внимание. Добавим мультиязычность, чтобы получать больше трафика.

Читать далее

Экосистема для разработки и применения Computer Vision (CV) в промышленности

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

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

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

Читать далее

Русские тексты. Работа с текстами. Предварительная обработка русских текстовых данных

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

Предварительная обработка текстовых данных: ключевые этапы и методы

Текстовые данные — один из самых сложных типов данных для анализа из-за их неструктурированной природы и высокой вариативности. Чтобы превратить "сырой" текст в информацию, пригодную для машинного обучения или лингвистического анализа, требуется предварительная обработка. Этот процесс включает стандартизацию, очистку и преобразование текста, что повышает качество моделей NLP (Natural Language Processing). Рассмотрим основные этапы и методы.

Читать далее

Нативный non-blocking I/O через Linux Epoll: создание C-расширений для Python

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

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

Если вам приходилось писать высоконагруженные сетевые приложения на Python, то вы, скорее всего, сталкивались с тем, что стандартные механизмы работы с вводом‑выводом — select(), poll() и даже asyncio — не справляются с большой нагрузкой. select() быстро превращается в бутылочное горлышко из‑за линейной сложности O(N), poll() всё ещё требует перебора всех файловых дескрипторов, а asyncio, хоть и удобен, но не всегда даёт ту производительность, которую можно получить, если работать напрямую с системными вызовами.

Здесь, на мой взгляд хорошо подойдет epoll — механизм в Linux, который позволяет асинхронно отслеживать события на файловых дескрипторах без постоянного опроса.

Читать далее

Давайте писать удобное локальное окружение…

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

Всем привет, меня зовут Аббакумов Валерий.

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

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

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

Читать далее

Msgspec vs DataClasses: битва инструментов в мире Python-сериализации

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

Хабрчане, привет! Это Леша Жиряков из МТС Диджитал. Недавно я писал про FastAPI vs Litestar и Polars vs Pandas, а сегодня разберем два популярных инструмента — Msgspec и DataClasses. Оба помогают структурировать данные, добавить энтерпрайзности в проект, но подходы у них разные. Какой из них быстрее и удобнее, где их лучше применять? Давайте разбираться.

Читать далее

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

Алгоритм Краскала для генерации идеальных лабиринтов

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

Алгоритм Краскала — это жадный алгоритм, который используется для нахождения минимального остовного дерева (MST) в связном, взвешенном и неориентированном графе. В контексте генерации лабиринтов он применяется для создания структуры, где каждая ячейка соединена с другими без циклов и недостижимых областей. В результате получается так называемый "идеальный лабиринт", в котором из любой точки можно попасть в любую другую по единственному пути.

Читать далее

Автоматизация разведочного анализа данных (EDA) с помощью Python

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

Всем привет! Меня зовут Константин Некрасов, я работаю дата-сайентистом в Газпромбанке. Хочу рассказать про инструмент, который серьезно упростил мою повседневную работу с данными, и поделиться им.

Если вы когда-нибудь занимались машинным обучением, то знаете — перед тем как строить модель, нужно как следует изучить свои данные. Этот этап называется EDA (Exploratory Data Analysis), или разведочный анализ данных (РАД). Он критически важен — именно здесь мы находим скрытые закономерности, выдвигаем первые гипотезы и понимаем, как лучше обработать данные для будущей модели.

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

Чтобы облегчить задачу, я разработал класс EDAProcessor, который автоматизирует ключевые этапы EDA: от базовой статистики и визуализации распределений до углубленного анализа корреляций, выбросов и временных зависимостей. Результаты анализа сохраняются в виде наглядных графиков и подробной excel-таблицы, где на разных листах представлены все важные статистические показатели и закономерности в данных.

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

Сам скрипт вот тут, а под катом я расскажу, как он работает и что делает.

Читать дальше

Как LangChain и LangGraph упрощают жизнь разработчика ИИ-Агентов

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

При разработке приложений на основе больших языковых моделей (LLM, Large Language Model) встает вопрос: вызывать ли модель напрямую через API (например, OpenAI) или использовать специализированные фреймворки вроде LangChain или LangGraph. Ниже мы рассмотрим, с какими сложностями сталкивается разработчик при прямом использовании LLM, и как LangChain и LangGraph помогают упростить создание сложных диалоговых и агентных систем. Также приведем примеры кода, сравнивая прямые вызовы с использованием этих фреймворков, и обсудим, когда их применение оправдано.

Читать далее

Учебник — всё, что вам нужно

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

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

Читать далее

Твой ИИ тебя понимает? Разбираем тайны внутреннего мира языковых моделей

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

Современные крупные языковые модели, такие как ChatGPT, Claude или Gemini, поражают своими возможностями. Но главный вопрос остаётся открытым: как именно они думают?

С момента появления открытых LLM метод изучения их мышления был довольно прост: разобрать их архитектуру, ведь каждая такая модель состоит из нейронов. Анализ их работы означает исследование того, какие именно нейроны активируются при заданном вводе. Например, если пользователь спрашивает: «Что такое звук?» — можно выяснить, какие именно нейроны включаются при формировании ответа. Так мы получаем возможность буквально заглянуть в процесс мышления нейросети.

Читать далее

Запускаем ML-модели с помощью Docker и Nvidia Triton Server

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

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

Читать далее

Как студенты СПО роботов на ROS пилили

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

Привет, Хабр! Меня зовут Алексей и этой зимой на меня напало желание наконец написать статью о том, как я и моя команда СПОшников участвовали в Eurobot Open 2022 и 2023.

Это моя первая статья здесь.

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

Костяк команды состоял из 5 человек: Я (программист), Дима (главный механик), Павел (электрика), Александр (механик), Михаба (человек на все руки).

Статья от нашего механика Димы

Eurobot это некогда международное соревнование по робототехнике, которое имеет две категории: Junior и Open. В обеих категориях основные правила схожи: 1-2 робота от команды выполняют различные игровые задания, вытаясь набрать как можно больше очков за 100 секунд. Делают это они вместе с роботами команды соперников, при этом активно мешать другой команде можно, но столкновения и откровенная агрессия запрещена. Этот формат, как и размер поля слабо менялись из года в год, начиная аж 1998 года, когда проходил первый Eurobot еще только во Франции.

Некогда международное - потому что начиная с 2020/21 года принимать участников-призеров с всероссийского этапа на международный организаторы отказались. Но это не остановило русскую сторону организаторов от проведения региональных и всероссийского этапов (что они все еще успешно делают https://vk.com/eurobotrussia). Не такой уж и Open.

Читать далее

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