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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     23.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Простой шаблонизатор DOCX-документов с помощью Smart Document Engine

Мы в Smart Engines занимаемся системами распознавания документов, и мы решили проверить, сколько нужно времени, чтобы создать MVP инструмента, позволяющего предзаполнять типовые шаблоны в формате DOCX данными, извлекаемые из сканов и фотографий документов. В этой статье мы вам покажем как на базе нашей системы распознавания Smart Document Engine быстро сделать простой шаблонизатор, готовый к использованию и не требующий никакой предварительной подготовки пользователя. Кому интересно - добро пожаловать под кат!

     22.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Релизы
     22.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Data Science как макетная плата в enterprise

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

     21.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Обучение нейросети в речном круизе или история одного мини-проекта

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

 

     21.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Про настройку гиперпараметров ансамблей моделей машинного обучения

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

     21.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Метод наименьших квадратов: формулы, код и применение

Традиционно в машинном обучении, при анализе данных, перед разработчиком ставится проблема построения объясняющей эти данные модели, которая должна сделать жизнь проще и понятней тому, кто этой моделью начинает пользоваться. Обычно это модель некоторого объекта/процесса, данные о котором собираются при регистрации ряда его параметров. Полученные данные, после выполнения различных подготовительных процедур, представляются в виде таблицы с числовыми данными (где строка – объект, а столбец – параметр), которые необходимо обработать, подставив их в те или иные формулы и посчитать по ним, используя какой-нибудь язык программирования.

     20.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Я уеду жить в Лейнвуд. Создаем новые слова при помощи GPT

Предлагаю немного поразвлечься и научиться придумывать новые слова, которые звучат совсем как настоящие (прям как товары в Икее).

     20.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Планирование производственных операций

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

     20.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи
     20.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Ищем хайлайты в матчах Dota 2 на примере Collapse на Magnus в рамках The International 2021

Недавно в Dota 2 появилась возможность нарезать видео-ролики в формате .mp4 при просмотре записей матчей. Я не удержался и решил сделать простой алгоритм поиска интересных моментов aka хайлайтов. Вот что из этого получилось на примере последней карты гранд-финала The International 2021, где Collapse из Team Spirit катал PSG.LGD на своем Magnus'е.

 

     20.06.2022       Выпуск 444 (20.06.2022 - 26.06.2022)       Статьи

Интересный метод построения карт на основе движения робота

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

     19.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Можно Ли Делать Игры На Python?

Python нашёл себе место почти во всех сферах IT. Разработка веб-сайтов, управление станками ЧПУ, desktop, мобильные приложения, а уж про искусственный интеллект, машинное обучение и анализ данных я вообще молчу.  Сейчас Python лучший друг хоть школьнику, хоть сотруднику научно-исследовательской лаборатории. А что на счёт игр? Компьютерные игры - это огромная доля IT рынка, которая уже набрала и продолжает набирать обороты. Игры то делать можно на питоне? Сегодня мы расставим все точки над i. Меня зовут Макс, я один из авторов YouTube канала PyLounge, а вы читаете статью в которой я расскажу можно ли создавать игры на Python и какую нишу занял Python в сфере gamedev.

     19.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Single quotes black

Когда проект на python долгое время живет без правил по формату строк, то в один прекрасный момент оказывается, что 90% кода используют одинарные кавычки, а 10% - двойные. Добавление flake8-quotes с соответствующими правилами перестало пускать новый код с двойными кавычками дальше пул-реквеста, но начало требовать ручной правки формата в уже существующем коде, чего хотелось бы избежать.Первой мыслью было задействовать black, но предлагаемый им формат предполагает исключительно использование двойных кавычек. В 2018 в github black был запрос Single quotes option формата строк, обсуждение было жарким, но закончилось оно лишь введением опции --skip-string-normalization, позволявшей не трогать формат строк в проверяемом коде.

     17.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Анализ аудиоданных (часть 3)

В третьей части анализа аудиоданных мы разберем относительно простой и более быстрый способ классификации аудиофайлов - алгоритм машинного обучения - SVM (Support Vector Machines) / машины опорных векторов.

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

 

     17.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Сателлит «RMarkdown» — что на обратной стороне?

В большинстве случаев, когда встречается что-то ранее неизвестное, люди пытаются объяснить это с помощью накопленного опыта, разложить в терминах известных вещей, развесить простые односложные ярлыки. После этого наступает порядок и ощущение полного понимания. Это очень полезный навык, но иногда такой подход не позволяет увидеть другие грани явления, пропущенные при первичном ознакомлении. RMarkdown прочно вошел в инструментальный стек R и воспринимается как базовый компонент. Однако, применительно к RMarkdown практически все осуществляют такой же промах. Связка «RMarkdown — это html отчет» формируется на первом шаге и дальше именно так и применятся. Реальность несколько многообразнее.

     17.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Одна слабая транзакция в ECDSA в блокчейне Биткоина и с помощью Lattice Attack мы получили Private Key к монетам BTC

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

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Начинающий программист vs Избирком СПб

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

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Асинхронный python без головной боли (часть 2)

Продолжение цикла статей про asyncio. Продолжаем готовить asyncio. Теперь мы уже знаем достаточно много, чтобы написать настоящий асинхронный микросервис, реализующий паттерн "API-шлюз". И попутно познакомимся с асинхронным логгированием и доступом к базе данных.

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Многопоточный Python на примерах: избавляемся от дедлоков

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

     16.06.2022       Выпуск 443 (13.06.2022 - 19.06.2022)       Статьи

Кто быстрее создаёт списки в Python, list() или []

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