Обновить
518.72

Python *

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

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

Методика портирования пакетов Python в операционную систему «Нейтрино»

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

Многие расширения (модули) Python поставляются в виде платформонезависимого байт-кода и могут быть использованы в системах с любой архитектурой. Однако, в некоторых случаях расширения поставляются в виде Py-исходников лишь частично. Например, часть внутренних функций может быть реализована на Си и для обеспечения работоспособности всего расширения потребуется их предкомпиляция для каждой требуемой архитектуры. В контексте ОС «Нейтрино» перечень последних достаточно широк.

В статье рассмотрим общий подход к портированию Python-расширений в нашу ОС. Для примера возьмем NumPy, чей жизненный путь проходит следующие стадии: нативный Pyhton код →трансляция в Си (Cython) → компиляция → запаковка результатов с wrapper-ами для Python.

Читать далее

Savant: новый высокопроизводительный фреймворк Python для видеоаналитики на оборудовании Nvidia

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

В статье рассматривается новый открытый фреймворк для потоковой видеоаналитики и демонстрируются его возможности на примере демонстрационного приложения, которое использует модель DeepStream’s PeopleNet для обнаружения людей и их лиц, размывает лица и отображает панель управления с помощью OpenCV CUDA.

Мы будем использовать Savant для обработки видео в реальном времени с протоколом RTSP и для обработки видеофайлов в пакетном режиме, чтобы продемонстрировать, как конвейер может достигать скорости 400 кадров в секунду на Nvidia Tesla T4.

Для тех, кто хочет сначала попробовать без подробностей, мы подготовили скрипты для быстрого старта на основе Docker Compose (раздел "Быстрый старт").

Savant на GitHub: https://github.com/insight-platform/Savant

Читать далее

Интеграция и кастомизация OpenAPI в Django/Django Rest Framework

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

Рассмотрим способы интеграции OpenAPI схемы в экосистему Django/DRF с помощью библиотеки drf-spectacular, а также некоторые проблемы, возникающие при кастомизации API и, соответственно, их решения.

Читать далее

Пишем свой личный Duolingo на минималках

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

Привет, меня зовут Емельянов Михаил, я Python-программист и я хотел бы показать вам свой небольшой «проект выходного дня» — Flywheel, микро-платформу для изучения иностранных языков — смесь Duolingo и Anki, программу, которая может помочь вам правильно писать на английском. Flywheel доступен в исходниках, лежит на GitHub.



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


Если вы когда-нибудь пользовались Duolingo, то имеете представление о формате, в котором будет идти обучение. Последовательность проста: вот тебе фраза, переведи её на другой язык; программа запомнит, когда ты в последний раз переводил ту или иную фразу и насколько успешно у тебя это получилось; в зависимости от правильности ответа будет определено время, когда тебе нужно задать эту же фразу еще раз. В целом, на мой взгляд, как сам Duolingo, так и используемый им подход — просто гениальны. Но… Есть нюансы, которые несколько портят впечатления от процесса учёбы, и именно для их устранения я и задумал Flywheel.

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

DSL фреймворк для создания Telegram ботов

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

Родилась у меня идея! Я хочу создать фреймворк, который позволит пользователям писать своих ботов Telegram с помощью языка, специфичного для конкретной области (DSL), или визуального представления, например, диаграммы UML. На основе предоставленных данных фреймворк будет генерировать необходимый Python-код для создания полнофункционального Telegram-бота. Которого можно будет сразу запустить где то на хостинге.

Читать далее

Project_2. Местоположение с помощью IP-адреса (Python)

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

Проект, который не отнимет много времени, но даст опыт, да и положительные эмоции.

Читать далее

Начинаем работу с PyTorch 2.0 и Hugging Face Transformers

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

В этом посте разберем работу с PyTorch 2.0 и Hugging Face Transformers на примере fine‑tune модели BERT для классификации текста.

PyTorch 2.0 лучше по производительности, скорости работы, более удобный для Python, но при этом остается таким же динамическим, как и ранее.

1. Настройка окружения и установка PyTorch 2.0.

2. Загрузка и подготовка датасета.

3. Fine‑tune и оценка модели BERT с помощью Hugging Face Trainer.

4. Запуск инференса и тестирование модели.

Читать далее

Декораторы Python: пошаговое руководство

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

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

Читать далее

Визуализация 5 алгоритмов сортировки на Python

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

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

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

Код написан на Python, а графический интерфейс построен на Tkinter.

Читать далее

Основные инструменты для работы в Data Engineering: введение для начинающих Data Engineer'ов

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

Всем привет!

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

Читать далее

Распознаем автомобильные номера на TorchServe

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

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

Читать далее

Книга «Машинное обучение. Портфолио реальных проектов»

Время на прочтение11 мин
Охват и читатели8.2K
image Привет, Хаброжители!

Изучите ключевые концепции машинного обучения‚ работая над реальными проектами! Машинное обучение — то, что поможет вам в анализе поведения клиентов, прогнозировании тенденций движения цен, оценке рисков и многом другом. Чтобы освоить машинное обучение, вам нужны отличные примеры, четкие объяснения и много практики. В книге все это есть!

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

EasySteamPaybot или как я помогал людям пополнять Steam

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

И так в марте 2022 Steam отключила в российском сегменте Steam все основные способы оплаты для пользователей из России.

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

В этой статье описана структура проекта, принцип его работы и раскрыты некоторые особенности реализации.

Тоже так могу !

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

Как я решила попробовать себя в ML: анализ эмоциональной окраски отзывов с Кинопоиска 2.0

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

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

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

Шаг 1: получение данных | main.py + reviews_data.zip

Скачиваем json-файлы с отзывами и затем читаем данные из файла. Добавляем полученные отзывы в общий список.

Читать далее

Полезные методы работы с данными в Pandas. Часть 1

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

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

В этих статьях (их будет несколько и их количество зависит от заинтересованности читателя) мы сосредоточимся на изучении некоторых полезных, но менее известных методов работы с данными в Pandas, которые могут значительно повысить вашу эффективность при анализе и обработке данных. Мы рассмотрим различные функции и техники для таких задач, как разделение данных на интервалы, квантильное разделение, применение скользящих окон для вычислений, смещение данных для временных рядов, преобразование вложенных структур данных, нормализация сложных JSON-структур и управление многоуровневыми индексами при работе с DataFrame и Series.

Читать далее

Снижаем размерность эмбеддингов предложений для задачи определения семантического сходства

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

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

Меня зовут Николай Шукан, я Data Scientist и участник профессионального сообщества NTA. Сегодня речь пойдет о методах снижения размерности эмбеддингов для задач определения семантического сходства предложений.

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

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

Узнать подробности

Предварительная обработка данных с помощью библиотеки Pandas (Задача)

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

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

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

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

Задача: Необходимо очистить данные о продажах компании за последние несколько лет с помощью библиотеки Pandas.

Читать далее

Руки на руль: Bus Factor следит за тобой

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

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

К нам обратилась компания «Термотех», которая занимается городскими перевозками. Организатору движения нужно было автоматически понимать, что:

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

Ранее задача решалась силами сотрудников «Термотеха» — они вручную просматривали все записи с камер видеонаблюдения, установленных в кабинах водителей. Такой подход занимал огромное количество времени и все равно приводил к ошибкам, основанным на человеческом факторе.

Как мы решали эту задачу?
Как это работает?

Читать далее

5 поводов выступить с докладом на PyCon  Russia. Какой из них твой?

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

Привет! Мы продолжаем собирать программу на PyCon Russia. Уверены, тебе есть что рассказать Python-сообществу. Оторвись от работы, весенних прогулок, плойки, Хабра, вышивания крестиком и чем ты там прямо сейчас занимаешься =) . Сосредоточься и отправь заявку — до второго мая осталось совсем немного времени, чтобы занять свой слот в программе (да и самих слотов — раз, два и обчелся). 

Немного мотивации:

Читать далее

Как я заставил Python взаимодействовать с Kotlin

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

Я работаю с POC (proof-of-concept. проверка концепции), где мы используем Ktor (Kotlin Framework) в качестве бекэнда DSL. В этом проекте нами извлекается обобщенное резюме из значительного объема текста. Мы столкнулись с проблемой написания кода машинного обучения на Kotlin. Kotlin молод по сравнению с Python, R и т.д.

Читать далее

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