Обновить
1024K+

Python *

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

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

Разрабатываем первое AI приложение

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

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

За последние двадцать лет было предпринято много усилий для цифровизации информации и процессов. Большинство из них сосредоточено на накоплении данных в реляционных базах. Этот подход позволяет традиционным аналитическим методам машинного обучения обрабатывать и анализировать данные.

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

Читать далее

Интеграция Telegram-бота с ЮKassa

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

Вроде бы есть у ЮКассы неплохая документация о настройке платежей через ТГ-бота, есть в интернете и несколько статей на эту тему, но все-таки на практике сталкиваешься со множеством неочевидных нюансов…

Опишу по шагам процесс подключения платежей для Python-бота на aiogram 3, при условии, что у его владельца уже оформлена самозанятость.

Читать далее

Telegram-бот для анализа текста | выделение тематических групп

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

Буквально месяц назад, мы с моим коллегой участвовали в HAKATON. Наша команда взялась за интересную задачу от компании МТС: на основе тысяч опросов, найти усредненный синоним к определенной категории ответов и визуализировать это в виде графика, либо облака слов.

После выполнения задачи и защиты проекта мы задумались...

Читать далее

Зуб комодского дракона

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

Вараны острова Комодо, также называемые в литературе драконами, — самая крупная из живущих на земле ящериц. Длина его тела может достигать 3 метров, а масса 140 кг [1]. Это доминирующий хищник своего региона, который может добывать животных (свиньи, буйволы, олени), порой 10-ти кратно превосходящих его весу.

Важнейшим инструментом такой охотничьей эффективности являются зубы. У комодского варана их 60 штук [2], изогнутых как сабли и острых как бритва (край зуба усилен металлизированным слоем, образующим микро пилу [3]). 

Этот комплект еще и регулярно, раз в 40 дней обновляется [4]. Не нужно ни стоматологов ни заточников — просто мечта. Однако фантастическая скорость роста зубов должна требовать и фантастических затрат «стройматериалов». Сколько, например, кальция и железа нужно варану в день для поддержания такого темпа?

Ниже мы оценим эти показатели, опираясь на «ангем», «матан» и python. Кто не испугался, welcome.

Читать далее

Возможности функции scatterplot() библиотеки seaborn

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

Функция scatterplot() из библиотеки seaborn предназначена для построения диаграммы рассеяния, позволяя визуализировать взаимосвязь между двумя числовыми переменными. Она предоставляет множество параметров для настройки внешнего вида точек, цветовых оттенков и размеров, что делает её полезной для анализа данных с несколькими переменными.

Читать далее

Асинхронный SQLAlchemy 2: улучшение кода, методы обновления и удаления данных

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

Третья статья цикла по асинхронному SQLAlchemy 2 посвящена оптимизации кода, обновлению и удалению данных. Рассмотрены улучшения базового класса, подходы к обновлению записей и методы удаления, с акцентом на повышение производительности. Нажмите «Читать», чтобы ознакомиться с материалом.

Читать далее

Как реализовать быструю реентерабельную блокировку на Python и почему она работает

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

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

Используя GIL (Global Interpreter Lock — Глобальная блокировка интерпретатора) и особенности реализации Threading.Lock.release можно создать более быстрый вариант.

Давайте попробуем разобраться

Учимся делать игры без pygame: Введение в графический интерфейс на Python

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

Привет, Хабр! Сегодня мы научимся делать графический интерфейс на python, используя Tkinter. Эта статья очень короткая, так как мы только начинаем.

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

Читать далее

Давайте-ка наваяем PumpKeen Game. Как Commander Keen, только про Pumpkin (тыкву). Хэллоуин же

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

Лучший способ отпугнуть монстров на Хэллоуин — это не только свечку в тыкве зажечь, но и страшную игру написать.

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

– Python

– Модуль p5py (p5.js, но только для Пайтона)

Online-IDE в браузере

Читать далее

Зачем нужны эмбеддинги?

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

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

Читать далее

Файловая система без фокусов: как hard links и XOR сэкономят ваши гигабайты

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

Для начала нужно понять главное - файлов не существует.
А потом на примере простых манипуляций разобрать что такое hard links, чем может быть полезен непонятный XOR и как это всё уживается в системах копирования и снимков

Читать далее

Краткий свод концепций Tensor Flow

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

TensorFlow — один из самых мощных и популярных фреймворков для машинного обучения, разработанный компанией Google Brain в 2015 году. 

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

Поэтому мы подготовили гайд с основными концептами этого незаменимого для ML-инженера фреймворка.

Читать далее

Необычные вкусы покупателей: что такое товарные пары и как их исследовать

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

Привет, Хабр! На связи команда продуктовой аналитики.

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

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

Читать далее

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

Как работать с Amazon SP-API: инструкция для начинающих

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

Этот текст я написал для людей, которые как и я, ещё 3 месяца назад про Python только слышали. Для тех, кто неплохо знает английский, но иногда хочет простого русского «ща сделаем». Для тех, кто решил написать свой первый запрос для API Amazon и не понимает, почему ничего не работает.

Писать скрипт для Amazon SP‑API — это как пытаться собрать мебель из IKEA без инструкции: сначала ты рад, что купил новинку, а потом мучаешься, пытаясь понять, как это вообще работает. Вернее, в данном случае инструкции есть, но по словам самой же поддержки Amazon она «не полностью отражает возможности сервиса».

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

Небольшое отступление. Возможно, название некоторых переменных, функций или чего бы то ни было ещё, покажутся вам странными. Прошу отнестись с пониманием — я умею писать на C#, но опыта с Python у меня мало и он на уровне «посмотрел два четырехчасовых ролика на Youtube». Я уверен, что можно что‑то оптимизировать, использовать библиотеки и так далее. Но мы рассматриваем первые шаги, которые лично мне было крайне сложно сделать, потому что желание помогать у поддержки Amazon отсутствует, как и внятная инструкция на русском языке (а часто и на английском тоже). Все обсуждают отдельные ошибки, а не работу скриптов в целом.

Читать далее

ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети

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

Весной на Хабре я рассказывал о том, как для дипломного проекта создавал приложение для отслеживания объектов спортивного мероприятия. Из моего пет-проекта вырос полноценный реальный проект. Знания и навыки в области нейронных сетей, трекинговых библиотек и компьютерного зрения, которые я приобрел, были использованы для разработки системы отслеживания транспортных средств на производственных территориях. Эта система основана на применении сверточной нейронной сети — технологии, позволяющей компьютерам «видеть» и интерпретировать визуальную информацию.

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

Читать далее

Python в ispmanager: добавляем сайты с фреймворком Django, работаем с API и утилитами прямо в панели

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

Ispmanager поддерживает Python — так удобнее управлять сайтами, веб-серверами и средой прямо в панели. Расскажем, как без проблем добавить в панель сайт на Python — c Django или без него, настроить работу по API или работать через утилиту mgrctl.

Читать далее

Уделите внимание токенизаторам — и вот почему

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

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

В большинстве современных приложений с ИИ в той или иной форме внедрена технология RAG (генерация с дополненной выборкой). Сейчас она у всех на слуху — о ней даже написали страницу в Википедии! Не знаю, ведёт ли кто-нибудь статистику, как быстро термин обычно дозревает до собственной статьи в Википедии, но термин RAG определённо должен быть где-то в топе этого рейтинга.

Меня довольно заинтриговало, что большинство успешных ИИ-приложений – это, в сущности, инструменты для умного семантического поиска. Поиск Google (в своём роде) раскрепостился, и это наталкивает меня на мысли, вдруг они только сейчас дали волю своим мощностям LLM, которые уже давно стояли за поисковым движком. Но я отвлёкся.

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

За последние пару лет я успел заметить одну выраженную черту разработчиков, привыкших действовать в области традиционного (детерминированного) программирования: им очень сложно перестроиться на осмысление задач в статистическом контексте, а именно так и следует подходить к программированию приложений с большими языковыми моделями, суть которых — это статистика. Статистика «хаотичнее» традиционной информатики и подчиняется иным правилам, нежели алгоритмы обычной computer science. К чему я клоню: статистика — это по-прежнему математика, но очень своеобразная математика.  

Читать далее

Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5

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

Тенденция применения беспилотных летательных аппаратов (БПЛА) продолжает развиваться и процветать. Оснащение беспилотников камерами и навигационным оборудованием геодезического класса точности позволяет получать ортофотопланы с сантиметровой точностью. Расширить возможности БПЛА можно применив нейронные сети, способные распознавать объекты на фотографиях. В статье рассмотрен процесс подготовки фотографий с БПЛА, разметки объектов для обучения нейронной сети, ее обучения и получения результата в виде выявления объекта на новом фото на реальном участке железнодорожного перегона, определяемые объекты — пикетные столбики. Исходный код обработки данных и обучения модели выгружен на GitHub.

Читать далее

Погружение в мир Python: Решение проблем с библиотекой ConfigParser

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

Здравствуйте! В этой статье я хочу поделиться своим опытом работы с библиотекой ConfigParser в Python, особенно в контексте устаревших операционных систем, таких как Windows XP и Windows 7. Несмотря на то что я не являюсь профессиональным программистом, моё хобби и стремление разобраться в нюансах программирования привели меня к интересным выводам.

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

Читать далее

Как сократить время ответа в 2 раза, добавив одну строку кода

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

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

В этой статье мы поделимся:

1. Описанием, как мы использовали инструменты Jaeger и Grafana для выявления узких мест в производительности, что привело к выявлению критических проблем со сборщиком мусора;

2. Анализом влияния различных настроек сборщика мусора на время ответа, что позволило сократить его вдвое для 99% запросов;

3. Когда и почему стоит рассматривать изменение стандартных настроек сборщика мусора (на примере нашего случая).

Читать далее