
Python *
Высокоуровневый язык программирования
Субъективные итоги года в мире Python

Привет, я Михаил Корнеев, вместе с Григорием Петровым и другими ребятами из сообщества мы ведем подкаст о Python на русском. В прошлую пятницу мы собрались в онлайне обсудить, что запомнилось в уходящем году.
Это — текстовая выжимка из выпуска.
Обзор пакетов SciPy, Pyomo и CVXPY для решения задач условной оптимизации

Привет, Habr! На связи Михаил Будылин и Антон Денисов, мы работаем в отделе аналитики данных X5 Tech.
В этой статье мы продолжаем говорить про прикладное применение теории оптимизации. В частности, делаем краткий обзор существующих open-source решений в Python, с которыми мы сталкивались на практике. Затрагиваем их различия и особенности, приводим примеры задач, которые можно решать с их помощью.
AIRFLOW ETL let's start гайд за 5 минут

Всем привет! Меня зовут Михаил. Данная статья адресована тем, кто хотел бы познакомиться с Airflow и тем как его можно применять в организации рутинных процессов инфообмена.
Без лишних слов или очищаем речь с помощью текст майнинга

Привет, Хабр!
Меня зовут Пётр Мананников я Data Scientist и являюсь участником профессионального сообщества NTA. Представьте ситуацию: вас назначили спикером на мероприятии, и вы даже знаете, о чем хотите рассказать аудитории. Но будет ли публикой воспринят ваш доклад так, как вы себе это представляли? Давайте посмотрим, что может пойти не так, и как это исправить.
Задача коммивояжера (TSP) точное решение — метод ветвей и границ

Что делает код хорошим? Большинство программистов ответят: хороший код должен быть структурирован, легко читаем и понятен. Но так ли важно качество кода, если он медленный? В большинстве задач производительность кода не критична, хотя и желательна. Но есть задачи, время выполнения которых столь огромно, что выигрыш в производительности доминирует над всем остальным.
Я говорю про NP-трудные задачи (NP-трудность - недетерминированная полиномиальная трудность по времени) и на одной из данного класса хочу акцентировать ваше внимание. Задаче коммивояжера.
Мы не будем рассматривать эвристические алгоритмы, нам нужно точное решение.
Лучшие новые библиотеки Python за 2022 год

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

По мотивам моего доклада на PyCon "Контейнеризация Python без боли". На своей практике я постоянно сталкиваюсь со спорами какой базовый образ лучше использовать для проектов: alpine или debian. Аргументы есть и у той, и у другой стороны, но мне это настолько надоело, что я решил сам разобраться и наконец-то поставить точку. В конце концов "В наше время верить нельзя никому, даже себе. Но мне - можно." (с)
Как мы внедряли полнотекстовый поиск

Раньше я работала на проекте N, где главной бизнесовой сущностью было событие. Это событие имеет свое название и еще несколько полей.
Когда-то нам пришел запрос от юзеров: событие у нас в системе называется, например, "событие от Ивана Ивановича", а они пытаются вбить в поиск "иван иванович рассказал про X" и не получают никаких результатов.
Данная проблема решается с помощью полнотекстового поиска. Вопрос в том, как его реализовать.
Как мы сделали и оптимизировали механизм правил для персонализации UI

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

История создания регулярных выражений берет свое начало с 1942 года. В то время Уолтер Питтс — американский логик, работавший, в основном, в области когнитивной психологии, работал с известным физиологом Уорреном МакКаллоком. Основой их работы были труды связанные с теоретическим построением нейронных сетей. Немного позже, американский математик Стивен Клини изучал события в сетях МакКаллока-Питтса и предложил способ описания таких событий при помощи языка регулярных выражений.
Работа Клини вышла в середине 50-х годов двадцатого века. Научные труды были бы забыты, но американский программист Кен Томпсон в конце 60-х годов обнаружил, что регулярные выражения можно использовать для задания шаблонов поиска строк в длинных текстах. Смысл поиска заключается в том, что регулярное выражения преобразуется в конечный автомат, который производит поиск строк, которые должны соответствовать определенным шаблонам. Для построения конечного автомата Томпсон придумал специальный алгоритм, который сейчас носит название «построение Томпсона». Таким образом Кен Томпсон смог принести в мир стандарт для задания поисковых шаблонов.
Сами по себе, регулярные выражения есть ни что иное, как текстовый шаблон, который соответствует какому-то тексту. В трудах Джеффри Фридла пишется, что: «Регулярные выражения— это мощнейший инструмент, хорошо известный программистам. Однако он может быть полезен не только программистам, но и всем людям, работающим с кодом или простым текстом». При использовании регулярных выражений человеку придется работать с литералами и метасимволами. Это два существенно различающихся по своей сущности понятия. Литералы – это обычные символы, т.е. при записи в строках регулярного выражения они интерпретируются так, как они записаны. Примером литералов в регулярных выражениях может быть любая буквенная последовательность. В свою очередь, метасимволы интерпретируются при поиске особым образом. Примером может служить символ «*», который задает последовательность любого количества литералов.
ИИ в конце 2022 года или как ИИ может помочь создать видеоролик

2022 год уходит. Чем же он нам запомнился? Несомненно, одно из последних достижений года - ChatGPT, самая спорная вещь в комьюнити: кто-то говорит “зачем такое создавать, роботы скоро оставят миллионы журналистов, писателей, блогеров, креаторов без работы”, другие же напротив, считают эту сетку огромным прорывом. Вишенка на торте - это, конечно, Stable Diffusion от компании Stability AI. Эта нейронная сеть была выложена в открытый доступ, что сразу привлекло внимание всех разработчиков. И это лишь малая часть того, что появилось в уходящем году.
Давай вместе с ИИ создадим полноценное видео и узнаем, возможно ли создавать контент, используя доступные на сегодняшний день достижения нейронных сетей?
Применение генеративно-состязательных нейронных сетей (GAN) в клинических исследованиях

Клинические испытания новых методов лечения делятся на несколько этапов, называемых фазами. На самых ранних этапах испытаний нужно учитывать безопасность лекарственного средства или побочные эффекты, которые оно вызывает. Более поздние фазы испытаний направлены на то, чтобы проверить, лучше ли новое лечение, чем существующие.
Существует 3 основных фазы клинических испытаний — фазы с 1 по 3. Испытания фазы 1 — это самые ранние фазы испытаний, а испытания фазы 3 — испытания более поздней фазы.
Некоторые испытания имеют более раннюю стадию, называемую фазой 0, а некоторые испытания фазы 4 проводятся после того, как лекарство было лицензировано.
Ближайшие события
ML алгоритм нашел баг в моем коде…

Я играл с языковой моделью SalesForce CodeGen. Она генерирует новый код по подсказкам. Но я хотел посмотреть, как она будет анализировать уже написанный код.
Я попросил модель посмотреть на существующий код и оценить вероятность появления каждого слова с учетом предыдущих слов. Далее я сравнил вероятность появления моего слова с вероятностью слова предсказанного моделью
Я взял один из файлов моего проекта. Яркость отражает маловероятность каждого слова. Красный цвет показывает, насколько более вероятен токен модели.
Как (и зачем) я писал README в Jupyter-ноутбуке для Node.js-приложения

На одном из прошлых мест работы я поддерживал консольную Node.js-утилиту, которая публиковалась в NPM. Утилита использовала commander, содержала довольно большое количество подкоманд, и все они требовали описания в README-файле, которое нужно было не забывать обновлять при каждом изменении. Несколько лет спустя я нашел решение, используя не слишком привычные для экосистемы Node.js технологии.
В этой статье: много моей любви к Jupyter-подобным ноутбукам, инструкция про то, как затащить Python-пакет в NPM и чуть-чуть анализа трекерной музыки.
Инструменты для GraphQL клиента на Python
Речь в статье пойдет о специальных инструментах для работы с GraphQL на Python в качестве клиента. Если вы используете GraphQL в своих сервисах на Python, то, скорее всего, сталкивались с необходимостью писать и хранить строки, содержащие GraphQL запросы, а так же писать Python классы для хранения результатов этих запросов. Вероятнее всего, вам было неудобно: не хотелось дублировать схожие запросы, постоянно править классы при частом изменении схемы и т.п. Вот и мне тоже. Поэтому, решая описанные проблемы, появились на свет два пакета: graphql-query и graphql2python.
Yolo на мобильном без постобработки

Столкнулся я как-то с проблемой распознавания упорядоченных последовательностей объектов на мобильных устройствах. Идея использовать YOLO пришла довольно быстро, так как модель хорошо подходила по многим параметрам. Я экспортировал обученную модель и с грустью осознал, что она выдает не прошедшие фильтрацию боксы, классы и скоры, а нечто, не поддающееся первичному визуальному анализу.
Создаем сервис для Serverless перевода голоса, как в Cyberpunk 2077

На днях мне наконец-то удалось поиграть в Cybperunk 2077, и я заметил, что в игре есть одна интересная особенность: Когда персонаж говорит на иностранном языке, текст сначала появляется над ним в оригинале, а затем как бы вживую переводится на английский.
Тогда я задался вопросом: сколько работы потребуется, чтобы создать нечто подобное с помощью современного DL-стека? Можно ли сделать это за выходные?
Война ML фреймворков, русский стартап потеснит запад

Мы рады сообщить, что открыли наш фреймворк Piper для всех разработчиков на гитхабе. Несмотря на то, что мы не закончили некоторые важные аспекты ядра, решили не ждать, а сразу поделиться, и теснее пообщаться о нашей разработке. В конце концов, мы изначально задумали, чтобы продукт был опенсорсным и все могли его использовать, решая свои задачи. Приветствуем любую обратную связь и помощь в доработке!✌️В этой статье расскажем о фреймворке Piper, его целях, конкурентах, о том, что есть в текущей версии и что планируем добавить в ближайшее время. Начнем с предыстории…
Полосный вокодер на Python: поговорим как роботы

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