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

Python *

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

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

Как перестать беспокоиться и начать жить

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

Многим хотелось бы знать, если вдруг что-то случится с их сайтом, магазином и т.п., особенно, если это не требует ни денег, ни времени, ни усилий. А ведь это довольно легко сделать: потратив совсем немного свободного времени, создадим докер контейнер, который будет периодически делать запросы в БД, расчитывать на их основании некие метрики, сравнивать их с пороговыми значениями и в случае превышения этих порогов, оповещать заинтересованных лиц.

Читать далее

7 полезных расширений VS Code для Python-разработчиков

Время на прочтение4 мин
Количество просмотров100K
Наиболее важные и полезные расширения VS Code для Python-разработчиков в нашем новом переводе.

Я пользуюсь PyCharm, и меня всё устраивает. Скорее всего, я не буду менять редактор в ближайшее время. Но вокруг VS Code столько шумихи, столько людей в Reddit и Twitter советовали мне перейти на VS Code, что я просто не мог его не попробовать.
Читать дальше →

Телеграм-бот для автоматизации обменника криптовалюты

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

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

Хотите узнать больше?

Как скомпилировать Python

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

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

Я хочу рассказать об удивительном событии, о котором я узнал пару месяцев назад. Оказывается, одна популярная python-утилита уже более года распространяется в виде бинарных файлов, которые компилируются прямо из python. И речь не про банальную упаковку каким-нибудь PyInstaller-ом, а про честную Ahead-of-time компиляцию целого python-пакета. Если вы удивлены так же как и я, добро пожаловать под кат.

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

Как с помощью нейросети определить лучшую дату отправки email и повысить доход рассылки в 8,5 раз

Время на прочтение6 мин
Количество просмотров7K
Чтобы email-рассылка не затерялась во входящих, а клиенты чаще открывали письма и покупали, важно угадать правильное время отправки. С помощью нейросети мы проанализировали поведение клиентов и спрогнозировали дату отправки следующего email, чтобы порекомендовать клиенту товары в то время, когда он захочет их купить. Протестировали в зоомагазинах на рассылках с предложением повторной покупки и оценили результат с помощью AB-тестов. Получили следующие результаты:

в 23 раза
больше целевых отправок email с помощью нейросети по сравнению с триггером

в 8,5 раз
увеличился доход от email-рассылки по атрибуции last click

в 2 раза
уменьшился процент отписок

в 17 раз
выросло число открытий в абсолютном значении


Ниже поделимся опытом и расскажем:

  • почему решили использовать LSTM-модель нейросети для предсказания даты отправки email вместо алгоритма градиентного бустинга;
  • как устроена LSTM;
  • какие данные нейросеть использует для обучения;
  • какую архитектуру нейросети использовали и с какими сложностями столкнулись;
  • каких результатов достигли и как их оценивали.
Читать дальше →

Генерация текста с помощью GPT2 и PyTorch

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

Генерация текста — одна из самых захватывающих прикладных задач обработки естественного языка (Natural Language Processing - NLP) за последние годы. Большинство из нас, вероятно, слышали о GPT-3, мощной языковой модели, которая может генерировать тексты, близкие к написанным человеком. Однако такие модели чрезвычайно трудно обучать из-за их большого размера, поэтому предварительно обученные модели обычно предпочтительнее там, где это приемлемо.

В этой статье мы научим вас генерировать текст с помощью предварительно обученного GPT-2 — более легкого предшественника GPT-3. Мы будем использовать именитую библиотеку Transformers, разработанную Huggingface. Если вы хотите узнать, как настроить GPT-2 на своем собственном наборе данных для генерации текста в конкретной предметной области, вы можете прочитать мою предыдущую статью: Настройка GPT2 для генерации текста с помощью Pytorch

Если предварительно обученной GPT-2 для ваших целей будет достаточно, то вы попали как раз туда, куда нужно! Без лишних отлагательств, приступим туториалу.

Читать далее

Код-ревью в Практикуме: как мы делаем его быстрее и эффективнее

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

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



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

Код-ревью в Практикуме


В Практикуме мы проводим ревью кода на собственной онлайн-платформе, которая называется «Ревизор». Туда попадают все сданные студентами работы. Платформа работает по аналогии с интерфейсами в Gitlab/Github/Bitbucket: можно просмотреть список файлов, изменения между версиями, а также оставить комментарии к определённым строкам.
Читать дальше →

Анализ качества сна с машинным обучением, Python и SQL

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

Последние примерно 2 месяца я ношу кольцо Oura, чтобы получать информацию о моём сне и о том, сколько я прошла шагов за день. Приложение считывает сон, разбитый на фазы (лёгкий, глубокий, быстрый), и даёт вам другие показатели, такие как частота сердечных сокращений, температура тела и частота дыхания. И для такого ботаника, как я, радостно было обнаружить, что у Oura есть API экспорта данных, чтобы я смогла лучше проанализировать их. Я загрузила данные в BigQuery и воспользовалась функцией CORR() (она потрясающая!), чтобы увидеть, какие показатели коррелируют с улучшением качества сна, а также визуализировала некоторые данные в Data Studio. Если у вас мало времени, переходите к разделу «Заключение», чтобы прочитать о том, что я узнала.

Дисклеймер: я не врач. Как раз наоборот: я ипохондрик, которому нравится писать на Python и SQL.
Приятного чтения!

Как PHP/Python разработчиков в Lamoda учат писать на Go

Время на прочтение4 мин
Количество просмотров14K
Привет! Меня зовут Михаил Мохначев, я тимлид команды Core в Lamoda.

Наша команда занимается обеспечением работы сайта и системы приема заказов, что бы ни случилось. Мы очень активно используем язык Go — 95% трафика идет через сервисы, которые написаны на нем. Но также есть сервисы на РНР и Python.

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

Найти кандидата, чьи навыки идеально подходили бы под наш запрос, очень сложно. Go-разработчиков в принципе мало на рынке, а Go-разработчиков, хорошо знающих к тому же PHP/Python, еще меньше. Поэтому мы решили подойти к этой задаче по-другому: мы нанимаем РНР или Python-разработчиков, и сами учим их писать сервисы на Go по рецепту Lamoda.

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

Ранжирование текстов по похожести на опорные тексты при помощи модели TF-IDF в реализации GENSM

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

Бывает так, что критерии поиска текстов слишком сложны, чтобы обойтись регулярными выражениями. В таких случаях на помощь приходит ML. Если из списка текстов выбрать самый подходящий для нас, можно выяснить похожесть всех остальных текстов на этот. Похожесть(similarity) это численная мера, чем выше – тем более текст похож, поэтому при сортировке по убыванию по этому параметру мы увидим наиболее подходящие нам тексты из выборки.

В качестве примера возьмем любой набор текстов. Здесь http://study.mokoron.com/ можно скачать небольшое csv с твитами.  В реальной работе это могут быть разного рода комментарии, ответы от техподдержки, запросы пользователей. Так или иначе, импортировав все нужные библиотеки, загрузим в pandas наш список текстов и взглянем на первые из них:

Читать далее

Краткая история о том, как развернуть веб-сервер Flask в docker контейнере

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

Для чего вообще нужен docker контейнер? Обычно, во время разработки, для каждого проекта вы настраиваете своё окружение. Но вот произошла такая ситуация: что-то случилось с вашим компьютером и приходится переустанавливать операционную систему(ОС). Соответственно, чтобы запустить ваш проект, необходимо настраивать окружение заново. Бывает ещё гигантское количество ситуаций, которые сводятся к одной проблеме - настройка окружения для разработки. 

Читать далее

Как скопировать стиль Уорхола с помощью нейросети VGG-19, трансферного обучения и TensorFlow

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

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

В этой статье мы скопируем стиль Энди Уорхола с «Мэрилин Диптих» на наши фотографии. Уорхол создал диптих Монро в 1962 году, сначала раскрасив холст разными цветами, а затем разместив теперь знаменитое изображение Мэрилин поверх холста. Хотя Уорхол не является основателем поп-арта, он – одна из самых влиятельных фигур в этом жанре.
Начнем творить!

12 примеров улучшения кода с помощью @dataclass

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

Мы добавляем алгоритмы кластеризации с помощью пакетов scikit-learn, Keras и других в пакет Photonai. На 12 примерах мы покажем, как @dataclass улучшает код на Python. Для этого мы используем код из пакета Photonai для Machine Learning.

Читать далее

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

Анализируем время ответа собеседника

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


С появлением мессенджеров коммуникация перешла на новый уровень — возможность мгновенного доступа к собеседнику воспринимается теперь как должное.

Но замечали ли вы, как на ваши ощущения от общения влияет скорость его ответа? Какое время ответа вообще считается приемлемым?

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

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

Достаем сырые данные


Для исследования в нашем случае лучше всего подойдет Telegram. Прежде всего, потому что у него есть удобный api для Python.
Читать дальше →

Как получилось, что 0,1 + 0,2 = 0,30000000000000004?

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

С детства нас учили, что 0,1 + 0,2 равно 0,3. Однако в загадочном мире вычислений все работает по-другому. Недавно я начал писать код на JavaScript и, читая о типах данных, заметил странное поведение 0,1 + 0,2, не равного 0,3.

Читать далее

Распознавание символов

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

Работа с изображениями — одна из самых распространенных задач в машинном обучении. Мы покажем пример обработки изображения, получение матриц (тензоров) чисел, подготовку данных обучающего множества, пример архитектуры нейронной сети.

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

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

— анализ изображений;

— подготовка данных;

— генерация данных;

— тренировка нейронной сети, предсказание ответов.

Читать далее

Зачем вам может понадобиться SITE_ID в настройках Django

Время на прочтение5 мин
Количество просмотров8.2K
КДПВ

Если вы не используете все возможности Django, то, очень вероятно, вы не пользуетесь SITE_ID. Этому способствуют как убогая официальная документация Sites framework, так и несогласованное с Sites развитие кода Django.

Предположу, что Sites скоро будет бездумно снесен свежими «разработчиками» Django, как это уже произошло с модулями Comments (Dj 1.6) или Formtools (Dj 1.8). А, пока этого не произошло, предлагаю вам поразмышлять о возможностях Django Sites framework.
Читать дальше →

Root cause анализ инцидентов на корреляциях между временными рядами метрик ИТ-инфраструктуры

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

Одной из задач систем ИТ-мониторинга является сбор, хранение и анализ различных метрик, характеризующих как состояние различных элементов ИТ-инфраструктуры (загруженность CPU, объем свободной оперативной памяти, объем свободного дискового пространства и т.п.), так и состояние различных бизнес-процессов. Для того чтобы применять обширный математический аппарат статистического анализа, эти данные часто удобнее представлять в виде упорядоченных временных рядов соответствующих переменных. Хорошим инструментом для обработки временных рядов в языке Python является комбинация трёх модулей: pandas, scipy и statsmodels (pandas.pydata.org, scipy.stats, statsmodels.org), которые предоставляют широкий набор классов и функций для построения временных рядов, для оценки множества различных статистических моделей, а также для проведения статистических тестов и исследования статистических данных. Из всего содержащегося в этих модулях математического паноптикума, конкретно в данной статье, будет описаны алгоритмы, в частности корреляционный анализ временных рядов метрик ИТ-инфраструктуры, которые мы применяем для root cause анализа в AIOps платформе monqlab.

Читать далее

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python

Время на прочтение9 мин
Количество просмотров17K
Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio популярность асинхронных Python-фреймворков сильно выросла, потеснив таких монстров, как Django и Flask, и стало намного проще писать веб-приложения, способные пережить высокий RPS.

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

Статья поможет новичкам посмотреть, как можно использовать вместе различные асинхронные библиотеки. А опытные программисты могут сравнить представленное ниже решение со своими наработками и конструктивно покритиковать.
Читать дальше →

Новые возможности для Python-разработчиков: SmartApp Framework в open source

Время на прочтение4 мин
Количество просмотров3.9K
Платформа SmartMarket позволяет разработчику с любым уровнем подготовки создавать мультимодальные приложения для виртуальных ассистентов Салют, даже без программирования. Конечно, если хочется сделать что-то красивое и сложное, без кода не обойтись. Чтобы облегчить жизнь разработчикам, мы делимся с ними нашими наработками в open source. На митапе разработчиков SmartMarket, прошедшем в декабре, мы рассказали о новом фреймворке.

Ниже вы найдете текстовую версию доклада и его видеозапись.


Друзья, привет! Меня зовут Кристина, я backend-разработчик SberDevices и тимлид сервиса управления диалогом, который используется для работы виртуальных ассистентов Салют. Расскажу вам сегодня о новом инструменте SmartMarket – SmartApp Framework, который мы выложили в open source.
Читать дальше →

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