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

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

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Полноценная игра, сделанная мною в обычной windows консоли

Сегодня я опишу в подробностях, как я сделал игру в командной строке, и насколько хороша она получилась.

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

3D ML. Часть 3: датасеты и фреймворки в 3D ML

В этой заметке мы рассмотрим какие существуют основные датасеты в области 3D ML и какие фреймворки для работы с 3D данными могут пригодиться датасаентисту при разработке моделей машинного обучения в данной области.

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Анализ сетей с использованием графов

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

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи
     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Как найти количество всех букв на всех знаках вида «въезд в город Х» в стране? Точный способ ответить на такие вопросы

Недавно в рамках одного собеседования мне понадобилось решить задачу, условие которой приведено ниже

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи
     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Rust for a Pythonista #3: Python bindings

It is a step-by-step guide on adding Python bindings to a Rust crate, including testing, packaging, and releasing.

     23.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Новая библиотека для уменьшения размерности данных ITMO_FS — зачем она нужна и как устроена

Студенты и сотрудники лаборатории Машинного обучения Университета ИТМО разработали библиотеку для Python, которая решает ключевую задачу машинного обучения.

Расскажем, почему появился этот инструмент и что он умеет.

     23.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Оптимизация инвестиционного портфеля по методу Марковица

Есть много реализаций данного метода. В том числе и на Python. Реализовал еще раз (см. ссылка на GitHub). Можно использовать как заготовку программного кода.

Конечно, приведем стандартную диаграмму облака сгенерированных портфелей.

     22.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Склеиваем несколько фотографий в одну длинную с помощью машинного обучения

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

     22.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Заметки Дата Саентиста: персональный обзор языков запросов к данным

Почему важно знать и уметь обращаться с языками запросов? По своей сути в Data Science есть несколько важнейших этапов работы и самый первый и важнейший (без него уж точно ничего работать не будет!) — это получение или извлечение данных. Чаще всего данные в каком-то виде где-то сидят и их нужно оттуда «достать». 

     21.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Стабилизация видео с движущейся камеры, или как перевести всё в неподвижную систему координат

Сейчас возможности Computer Vision (CV) полностью перекраивают ландшафт рынка Public Safety solutions. В то время, как традиционными системами видеонаблюдения уже не просто никого не удивить, а странно не найти её в любом общественном месте, использование ИИ в данной области всё ещё вновинку.

     20.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Передача динамических объектов от setup к тестовой функции в py.test

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

 

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

     20.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Бот-викторина для ВКонтакта

Месяца три назад мы с друзьями по сети «ВКонтакте» в общем чате (беседе) играли в угадайку — игру по мультфильму «Смешарики», который мы все любим. Правила: ведущий пишет цитаты персонажей мультика, игроки угадывают из какой серии эта цитата. Я решил сделать игру более интересной, и назначить на роль ведущего бота.

     19.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи
     19.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи
     18.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Почему здравый смысл важнее паттернов, а Active Record не так уж и плох

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

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

А наличие во фреймворке нужных паттернов никак не гарантирует их правильного и осознанного применения.

     17.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

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

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