IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог


Новый материал в ленте
  Speeding Up Data Retrieval From PostgreSQL With Psycopg

Formatting and concatenating query result columns on the PostgreSQL side and then parsing them in Python might sometimes be faster than fetching the columns as separate values.


Python Дайджест. Выпуск 434

(11.04.2022 - 17.04.2022)

поделиться выпуском 
Дайджест python,

Статьи

  Байесовская Сеть Доверия: Практика

Мы продолжаем нашу серию статей, связанных с байесовскими методами, один из которых — Байесовские Сети Доверия (БСД). Теоретическую основу БСД вы можете найти в этойстатье.

В этой статье мы сначала вкратце вспомним теорию. Дальше будет, что называется, только хардкор: на примере данных “Титаника” мы будем строить БСД.

  Understanding a Real-Time Object Detection Network: You Only Look Once (YOLOv1)

Table of Contents Understanding a Real-Time Object Detection Network: You Only Look Once (YOLOv1)

  Как мы кикшеринг взломали

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

  Анализ данных виртуальных велотренировок

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

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

В задачах распознаваниях речи при переводе аудио в текст есть дополнительные этапы, делающие этот текст более человекочитаемым. Например, предложение "привет хабр сегодня мы сделаем двадцать шесть моделей по распознаванию голоса" будет выглядеть лучше в таком виде: "Привет, хабр. Сегодня мы сделаем 26 моделей по распознаванию голоса". Другими словами, сегодня мы поговорим про то, как автоматически восстановить пунктуацию и капитализацию (сделать нужные буквы заглавными). Также упомянем денормализацию текста (при этом числа обретут свою цифровую форму обратно, эту задачу еще называют inverse text normalization).

  Обзор некоторых возможностей Python 3.11

Согласно заявлению Python Software Foundation (PSF), Python 3.11 сейчас находится в альфа-ревизии и планируется к релизу в Октябре 2022. Какие изменения ожидают нас в следующей версии?

  Как врать с помощью статистики

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

  • Лошади бегают по часовой стрелке быстрее чем против.

  • Лошади бегают против часовой стрелки быстрее чем по часовой.

  • Лошади бегают на более дальние дистанции быстрее (с большей скоростью), чем на короткие.

  • Лошади бегают на более дальние дистанции медленнее (с меньшей скоростью), чем на короткие.

  Ирина, голосовой помощник. Продолжение

Это продолжение статьи Ирина — опенсорс русский голосовой помощник. Offline-ready. Расскажу, что поменялось за два месяца с момента прошлой статьи.

  Машинное обучение на службе урбанистики

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

 

  Мечтают ли алгоритмы о финансовой отчётности: новый способ работы с ФО в ВТБ

Финансовая отчетность (ФО) — штука предельно ответственная. Получаемая от бизнеса ФО постоянно нужна банку для организации повседневной деятельности. Но процесс получения важной для нас отчётности омрачается тем, что работа с ФО — это монотонный неэффективный конвейер, на поддержание которого банковские служащие тратят тысячи человекочасов. ВТБ использует электронные инструменты получения ФО, такие как: ФНС, 1С, Коробочное решение распознавания. Это основные направления развития, но сегодня они не покрывают всю потребность в клиентской ФО. 

  История одного CRUD'а

В 2015 году, когда я пришёл на своё текущее место работы, мне было непривычно от необыкновенной свободы действий. Буквально, на новом месте можно было проявить весь творческий потенциал как DevOps-евангелиста. Мне нравилось выстраивать процессы, автоматизировать рутину, делать разработку удобной. Больше всего я люблю оптимизации, а больше всего ненавижу - рутину.

Эта история одной боли и попытке не просто "принять обезболивающее", а реально излечить её. Поэтому готовьтесь переварить лонгрид.

  Асинхронный django — status update. Проект vinyl

Некоторое время назад я писал про альтернативные возможности, как можно добавить в django асинхронность (есть официальный подход, изложенный в DEP-09). С тех пор у меня получилось оформить свои идеи в нечто относительно цельное, что вылилось в vinyl project. Описание проекта читайте на гитхабе, здесь же я хочу рассказать о его интересных особенностях.

Видео

  Тимур Кадыров,Лаборатория Нейронаук. Ускоряем расчет признаков на коротком датасете для HFT на бирже

Для работы HFT необходимы очень маленькие задержки. Поэтому при внедрении ML модели нужно учитывать ограничения на время расчёта признаков. Есть много докладов и статей на тему ускорения расчётов на pandas. Сюда можно отнести и pandarallel, и dask, и polars. Ребята из Intel даже рассказывали на прошлом PyCon-е про modin. Все эти инструменты работают при больших объемах данных. Но что делать, если количество строк меньше 1000 или даже 100? В данном докладе хочу осветить несколько тем: Почему так важна низкая задержка при hft Какие возможны оптимизации для снижения количества расчетов Numpy Structured arrays как замена Pandas DataFrame Вспоминаем математику и ещё немного сокращаем количество операций.

  Станислав Фатеев, CVisionLab. Pydantic: валидируй это. Как работать с данными быстро и без боли

Вы уверены, что приходящие к вам данные соответствуют вашим ожиданиям? Добавим немного определённости в нашу жизнь с помощью Pydantic. В своём докладе я расскажу о том, как сериализовать и валидировать данные и почему это важно. Поделюсь тем, как мы значительно упростили процесс поддержки и парсинг параметров production приложения. И как использование Pydantic помогло нам: улучшить структурированность параметров, настроить версионирование и проверку в CI текущей схемы на наличие изменений, получить автоматическое построение документации параметров минимальными усилиями. И в целом расскажу о преимуществах, недостатках и полезных особенностях Pydantic. Как уйти от работы со словарями к классам. А также затрону нетривиальные возможности и случаи использования.

  Василий Копытов, Авито. Как и почему мы перешли от Python к Go в нашем основном сервисе рекомендаций

Рекомендации Авито — это первое, что видит пользователь, когда попадает на главную страницу. Нагрузка на наш основной сервис — порядка 200 тысяч запросов в минуту. За последние два года мы сильно улучшили качество рекомендаций, но сильно проиграли в latency. Главным врагом производительности и latency стало добавление ML модели второго уровня на основе CatBoost для ранжирования объявлений от базовых ML моделей первого уровня в реалтайм. В докладе я расскажу: Как мы приняли решение переписать все на Go, перед этим мы выжали из Python все, что смогли; Как подружили CatBoost с Go и стали использовать ML модель на основе CatBoost в Go; Что получили по latency и потреблению memory/cpu.

  Павел Мальцев, Speechki. Redis, сова и глобус

Все мы привыкли, что Redis простой инструмент, который прекрасно подходит для кеширования в формате Key-Value. Однако в нём есть более весёлые структуры данных, которые могут сделать нашу жизнь веселее и приятнее. Залезем в кроличью нору и найдём в документации списки, хеши, множества и другие структуры. Покажу несколько кейсов из реального продакшена, где эти структуры полезны и как использовать их особенности себе на пользу. Строим свой велосипед на двух колёсах.

  Матвей Коняев, Точка. Как писать тесты дешевле

Доклад поможет раскрыть несколько важных моментов, которые помогут написать тесты дешево, быстро и правильно: Общая архитектура приложения, при которой удобно использовать интеграционные тесты Общая архитектура тестов Использование pytest и mocker На реальном примере покроем приложение сначала юнит-тестами и убедимся, что такой подход к тестированию не совсем корректный и в итоге пропускает ошибки в функционале. Параллельно посмотрим, что наличие исключительно интеграционных тестов тоже несет не всегда позитивные последствия. На примере доклада рассмотрим подход к разработке, который находится между TDD и "разработал и после покрыл тестами". Помимо всего прочего, сможем посмотреть, как можно тестировать код на максимальную глубину, даже захватывая базовые классы Слушатели смогут убедиться, что высокий процент покрытия тестами — это не всегда хорошо. А так же смогут понять, что разработка и параллельное тестирование собственного кода — это сбалансированный подход в плане качества кода, стоимости разработки. Мы сможем посмотреть на реальном примере, что писать тесты с хорошей архитектурой не так сложно и долго.

  Данил Ахтаров, Тинькофф. Почему питон не будет функциональным и почему нафиг никому это не нужно

На питоне можно писать так и эдак, но когда ты в команде, кто-то "старший" решает, как лучше это делать. Вы могли слышать, что "этот код не питонячий", "так на питоне не пишут". Стоит разобраться почему. Я совсем недавно открыл для себя функциональное программирование, и мне понравился этот стиль. В основном композиция функций на языке Хаскель. Так как мой основной стек это Python, я предполагал, что такое можно сделать и на нем. Но почему все используют императивный подход в разработке и внедрить в свой рабочий проект новые идеи очень сложно. Если все таки захотим использовать функциональный стиль, с какими проблемами можем столкнуться? Если честно, в питоне мало фичей для ФП, но можно использовать диалекты, с помощью которых ваш код будет декларативным и более читаемым для людей. Но есть свои недостатки, которые нельзя игнорировать. В своем докладе я предлагаю познакомиться с этой темой и, возможно, вы отметите для себя что-то интересное.

  Денис Толкачев, Сбер,Лаборатория Нейронаук. Производственный брак. Ищем некрасивую рыбу на конвейере

Как разработать систему распознавания рыб на конвейерной ленте, имея на руках только видеозаписи рыб с ленты, raspberry pi и python. При этом хотим близкое к real-time быстродействие системы на rpi и не сойти с ума. Требования к модели: уметь отличать рыбу от остальных предметов, определять вид рыбы, положение рыбы на ленте (головой в сторону движения или хвостом, хребтом вправо или влево), брак. В данном докладе хотелось бы рассказать слушателям про путь в данной задаче: Поиск похожих решений: их достоинства и недостатки, Как формировали собственное решение: Детекция - Сегментация - Выбор моделей, Разметка, Обучение, Первые попытки и интеграции, Попытки обучить «легкие» модели и переразметка имеющихся данных.