Обновить
545.13

Python *

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

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

Как Airbnb ошиблась и зачем строила Wall

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

Чтобы ускорить принятие решений и лучше поддерживать мониторинг метрик бизнеса, в Airbnb внедрили сертификацию всех метрик и наборов данных, написали рекомендации о проверках качества данных, но не обеспечили их выполнение. О возникшей из-за этого проблеме и её решении рассказываем к старту флагманского курса по Data Science.

Читать далее

Многоконсольный вывод для Python

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

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

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

Для этого используют обычный print() но по стандарту ограничен одной консолью, или loggin() но его нужно относительно дольше настраивать, чем проект console-debugger, по причине того что нужно указывать файл, стиль вывода даны в файл, рейтинг обработки, в ручную запускать слежение за файлом, в ручную закрывать слежение за файлом, когда вам больше не нужен обработчик.

Я понимаю плюсы лорнирования но они не подходят для дебаггинга ...

Вариант программы для отладки Python

Лунный звездный месяц (27.32 дней), лунный месяц по фазам Луны (29.5306 дней) в радиоактивном распаде

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

Эта статья продолжение серии публикаций по эффекту Шноля - космо-физических циклов проявляющихся в случайных процессах (прежде всего в радиоактивном распаде). Здесь приведенный алгоритм используется и в данной статье. Изменение косметические (графики вероятностей не двигаются до более полного совпадения по дистанции Эвклида). Данные предоставлены пользователем - 48 дней с 19 декабря 2012 года по 6 февраля 2013 года распад стронция-90, измерение дозиметром ДП-5В.

Читать далее

process mining: 100 строк кода и генератор логов у нас в руках

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


Продакт-менеджерам посвящается...


Заступая на территорию proccess mining, каждый участник рано или поздно будет нуждаться в наборе логов событий, отражающих те или иные специфические моменты в процессах. Эти логи нужны как на этапе демонстрации решения, подсвечивания определенных вопросов, так и для отработки алгоритмов или же тестов на производительность. Оба рекомендуемых сценария «взять с продуктивных систем» или «взять из интернета» терпят фиаско. Как правило, это очень
малые датасеты, слабо удовлетворяющие потребностям как по наполнению, так и по объему.


Остается вариант — написать генератор правдоподобных логов самостоятельно. Тут тоже есть два варианта.


  • Вариант первый — превратить эту задачу в универсальный монстроподобный продукт, содержащий визуальный конструктор в нотации BPMN 2.0, всевозможные визуальные конструкторы формул и атрибутов, полноценную имитационную машину под капотом. Годы работы, миллионы на ветер, на выходе — файл с логами. КПД близок к нулю.
  • Вариант второй — отнестись к этой задаче как к вспомогательной и создать инструментами data science стека упрощенный генератор в 100 строк кода.

Остановимся далее на втором варианте.


Является продолжением серии предыдущих публикаций.

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

Как определить самый авторитетный фильм всех времен и народов

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

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

К счастью, это можно посчитать.

Читать далее

Фреймворк для автоматизации – покупать или создавать?

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

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

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

Читать далее

Involution: Attention is not what you need, или Как скрестить Self-Attention из NLP и Convolution в задачах CV

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

Если говорить про Self-Attention в картиночных моделях, то тут есть 2 варианта. Олдскульный  “давайте просто перевзвесим фичи” в разных вариантах: поканально, пространственно, в некоторой проекции. И новомодный "давайте обучим трансформер" с представлением патчей как визуальных слов. Первый подход рабочий, но не дает значительного улучшения в плане метрик. Второй подход слишком вычислительно сложный и часто заточен на размер картинок.

Подход коллег из ByteDance AI Lab и университета Пекина сильно отличается от этих крайностей и является переосмыслением Attention-механизма трансформеров в работе свёрток.

Читать подробнее об Involution

Отображение объектов на картах в админке Django

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

Бесплатная, с открытым исходным кодом библиотека DjangoAdminGeomap предназначена для отображения объектов на карте в админке Django.

Существует полноценный многофункциональный ГИС фреймворк GeoDjango. При его использовании в админке Django можно отображать объекты на карте. Однако GeoDjango имеет большой список зависимостей от различных библиотек и особенности установки этих библиотек на различных платформах.

Если вам требуется только отображение объектов на карте в админке Django, то можно использовать библиотеку DjangoAdminGeomap. У нее нет дополнительных требований к именам и типам данных полей в таблицах базы данных и отсутствуют зависимости при установке.

Для отображения картографических данных DjangoAdminGeomap использует JavaScript фреймворк OpenLayers. Источником картографических данных являются данные проекта OpenStreetMap.

Читать далее

Фотогалерея на максималках

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

~1 год назад я начал разрабатывать свою фотогалерею (песочницу для теста всяких технологий). Данная статья – это описание её архитектуры, а также различные твики/лайфхаки/микрогайды которые я узнал за время разработки + немного про производительность.

Читать далее

Сколько на самом деле вакансий на Python в веб-разработке (на примере Москвы)

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

В Коммунарке начинается осень, значит пришло время пересмотреть Бегущего (теперь уже два), открыть бутылочку Амаретто и написать следующую статью про всеми любимый Python. В данном случае поговорим о том, сколько на самом деле у нас вакансий на Python для веб-разработчиков.

Читать далее

MPIRE — быстрая альтернатива multiprocessing

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

MPIRE комбинирует функции, подобные map из multiprocessing.Pool, с преимуществами копирования при записи общих объектов multiprocessing.Process. В пакете также есть простые в работе функции состояния рабочего процесса, информирования о нём и индикатора выполнения. Сокращённым переводом документации делимся к старту курса по Fullstack-разработке на Python.

Читать далее

Как мы “повернули реки вспять” на Emergency DataHack 2021, объединив гидрологию и AutoML

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

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

Под катом хотелось бы поговорить об опыте участия нашей команды из лаборатории моделирования природных систем Национального центра когнитивных разработок Университета ИТМО в хакатоне Emergency DataHack 2021. И победы в нём :)

Читать далее

Копируем файлы пачками в AWS S3

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

В одном из проектов встала следующая задача: пользователь загружает пачку файлов через клиента (CloudBerry Explorer, к примеру) в S3 бакет, мы копируем эти файлы в архив и шлем SNS уведомление о том, что все сделано. Перекладывать файлы в архив нужно начинать только тогда, когда пользователь загрузит все, что хотел. Пользователей мало и загружают батчи они довольно редко. Но файлов может быть много.

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

<batch_name>/done.trigger
<batch_name>/files/<file_key_1>
<batch_name>/files/<file_key_2>
...
<batch_name>/files/<file_key_n>

Как видим, для каждой пачки создается свой каталог <batch_name> с подкаталогом files, в который и заливаются уже пользовательские файлы с каталогами и именами, которые он хочет. Триггер-файл загружается в <batch_name> и по ключу этого  файла можно понять какие конкретно файлы нужно отправить в архив. Но здесь есть один нюанс, мы хотим при копировании в архив вырезать каталог files. Т.е. файл <batch_name>/files/<file_key_1> скопировать в <batch_name>/<file_key_1>.

К счастью, S3 позволяет отслеживать загрузку файлов с определенным суффиксом и отправлять уведомления при наструплении этого события. В качестве получаетеля этих уведомлений можно указать аж 3 сервиса: SNS, SQS и Lambda-функцию. Но тут не без нюансов. Так, первые 2 типа поддерживают только стандартные очереди и SNS, а FIFO не поддерживают, увы.

Читать далее

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

PyFilesystem — мощная альтернатива pathlib

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

Написанная с помощью PyFilesystem функция поиска дубликатов файлов будет работать без изменений с жёстким диском, zip-файом, FTP-сервером, Amazon S3 и т. д., этот API абстрагирует от физического расположения файла. В нём меньше способов выстрелить себе в ногу, чем у модулей os и io. Руководством из документации делимся к старту курса по Fullstack-разработке на Python.

Читать далее

Распознавание и анализ речи с помощью библиотеки SPEECH RECOGNITION, PYAUDIO и LIBROSA

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

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

Если простыми словами скрытую марковскую модель можно объяснить на примере.

Читать далее

Работа с pdf-файлами с помощью библиотеки fitz

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

Возникла идея создать небольшую утилиту на Python, которая будет парсить PDF и сверять со списком швов, взятых из BIM модели. Изначально я обратился к библиотеке pdfminer, вернее к ее форку pdfminer.six. Но скорость работы меня совершенно не устраивала. Вот, например, загрузка файла в 10 страниц и парой картинок.

Читать далее

Нейродайджест: главное из области машинного обучения за август 2021

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

Новая архитектура-генералист для работы с комбинированными типами данных от DeepMind, генерация внешности от младенчества до глубокой старости, синтез фотореалистичных изображений по наброску и многое другое в августовской подборке. 

Перейти к обзору

Возможное будущее ИИ, Python как модель мышления или незаслуженно забытый Акинатор

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

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

Однако что же с исследовательской частью проблемы? Где и как люди отвечают на вопрос "Как улучшить сам ИИ, чтобы было легче выполнять задачи?" или "Есть ли что-то, что можно добавить в основу ИИ, кроме структуры нейронов и принципов их взаимодействия?"

Читать далее

Python и Ruby под нагрузкой: высокое искусство некромантии

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

Уже больше 20 лет я пишу код на разных языках программирования. Так как многие из этих языков считаются мертвыми, то сегодня я буду говорить о высоком искусстве некромантии — о том, как якобы мертвые языки используются в больших и иногда высоконагруженных проектах. Обрабатывая тысячи веб-запросов в секунду и не порождая необходимости писать свой компилятор PHP или переходить на Go или Rust.

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

Если вы предпочитаете слушать или смотреть (у меня там забавные крылья!) — видео моего выступления на конференции HighLoad++ Весна 2021.

Читать далее

Выполняем глубокое обучение быстро при помощи Fast AI

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

Нейронные сети повсеместно используются для выполнения самых разных задач, можно даже сказать, что это самый настоящий «универсальный солдат». Однако, может показаться, что начать работать с нейросетями довольно сложно, несмотря на наличие огромного количества информации в источниках, существование готовых фреймворков, например, tensorflow, pytorch и других.

И всё же, существует инструмент, позволяющий легко совершить «быстрый старт» и опробовать нейронные сети в деле самостоятельно – это fast ai. Вообще, fast ai – это прежде всего группа исследователей, занимающихся вопросами искусственного интеллекта и глубокого обучения в частности, которая выпустила одноимённую библиотеку в свободное пользование в 2018 году. Если говорить простыми словами – fast ai представляет собой надстройку над упомянутым выше фреймворком pytorch и упрощает работу с ним, делает это быстрее. Отсюда и слово «быстро» в названии статьи.

Пожалуй, перейдём к практике и покажем, насколько просто работать с fast ai на простом примере задачи классификации изображений – постараемся обучить нейронную сеть различать две модели автомобильной марки Subaru: Impreza и Legacy. Как и обычно, в первую очередь выполняем установку библиотеки, выполнив в консоли команду:

Читать далее

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