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

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

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Как правильно: Мане или Моне? Отвечает нейросеть

Художников Эдуарда Мане и Клода Моне путали и при жизни (вот очень интересная статья на Арзамас). Что неудивительно, ведь они оба родоначальники импрессионизма и писали в схожей манере. Слушая на coursera курс по Convolutional neural networks, я решила попробовать сделать модель, определяющую, кем из художников написана картина.

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Эволюция монолитного приложения в микросервисы

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

 

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

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

wxpython. Доступность еще доступнее

Хотя многие приложения все больше переходят в разряд WEB, я хочу в данной статье поднять тему о прикладном ПО. А точнее о замечательной библиотеке GUI wxpython, которая является оберткой над WX Widgets.

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

А самое главное — она самая доступная в плане accessibility.

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

10 полезных практик для ML-разработчиков на Питоне

Порой, будучи дата саентистами, мы забываем за что нам платят. А платят нам за то, что мы в первую очередь разработчики, потом исследователи и, возможно, математики. Наша основная обязанность при этом состоит в том, чтобы быстро создавать работоспособные решения для бизнеса.

Тот факт что мы создаем модели не делает нас особенными. Это не дает нам права писать плохой код.

     03.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи
     03.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Django: один пользователь для всего

В этот раз стояла довольно непривычная задача — сделать одну User модель, которая может иметь несколько разных профилей (Исполнитель, Заказчик). И наличие каждого из профилей дает разные полномочия на работу с одними и теми же ресурсами.

     02.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

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

Новые средства автоматизации выводят планирование на новый уровень развития.
Какой инструмент позволит нам сэкономить тысячи часов за счет автоматизации процессов BIM в Revit?

     02.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

3D ML. Часть 2: функции потерь в задачах 3D ML

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

 

В этой заметке мы поговорим о том, какие функции ошибки (Loss functions) алгоритмов используются в 3D ML, какие из них можно использовать в качеств метрик качества (metrics), а какие — в качестве регуляризаторов (regularizers).

     02.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Жесткий цигун с условными знаками или зачем нужен geometry generator

Требования заказчика к условным обозначениям на картах кажутся вам нереальными? Дальше вы узнаете, как с помощью geometry generator, QGIS и Python сделать так, чтобы ваши условники были лучше всех.

     02.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Книга «Генеративное глубокое обучение. Творческий потенциал нейронных сетей»

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

     02.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

PyTrace — Time Travel Debugger для Python

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

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

PyTrace — это трейсер с возможностями Time-Travel Debugging-а

     01.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Простое распознавание лица «на лету» в Django view

Меня зовут Соболев Андрей и сегодня мы с вами создадим простую «плюшку» к Django, которая будет проверять, что на фотографии именно лицо человека (что бывает полезно в куче ситуаций).

Для этого нам понадобится OpenCV и 5 минут свободного времени. Поехали.

     01.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи
     01.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Детектор приседаний на OpenCV и Tensorflow

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

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

Начать было решено с приседаний. Фундаментальное движение, с явными состояниями, большой амплитудой, в общем, идеальный выбор.

     01.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Анализируем шедевры живописи с помощью классического ML

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

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

     01.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Zero Inbox. Гайд по наведению порядка в почте

Моему почтовому ящику на gmail много лет. Более десяти лет самостоятельного существования, а также в нем лежат архивы из других почтовых систем. Все эти годы я использовал его так как и нужно использовать умные продукты:

     01.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Стажировка аналитиком в Яндексе: разбор тестовых задач

Приём заявок 2020 уже закончился, поэтому в этой статье я с чистой совестью разберу задачи, которые Яндекс предлагал решить соискателям на первом этапе. Будет и код на Python. Спойлер: сложно, но интересно.

     31.05.2020       Выпуск 336 (25.05.2020 - 31.05.2020)       Статьи
     31.05.2020       Выпуск 336 (25.05.2020 - 31.05.2020)       Статьи

Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 1

Данная серия статей будет посвящена возможности создания декоратора в языке С++, особенностям их работы в Python, а также будет рассмотрен один из вариантов реализации данного функционала в собственном компилируемом языке, посредством применения общего подхода для создания замыканий — closure conversion и модернизации синтаксического дерева.