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

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

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Что позволено Jupyter?

Наша история началась с, казалось бы, несложной задачи. Нужно было настроить аналитические инструменты для для data science специалистов и просто аналитиков данных. С таким заданием к нам обратились коллеги из подразделений розничных рисков и CRM, где исторически высока концентрация data science-специалистов. У заказчиков было простое желание —  писать код на Python, импортировать продвинутые библиотеки (xgboost, pytorch, tensorflow и пр.) и запускать алгоритмы на данных, поднятых с hdfs-кластера.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Говорит и показывает: отличается ли риторика кандидатов в президенты?

Можно ли по цитате определить, кто из политиков ее автор? Украинская НКО Vox Ukraine делает проект VoxCheck, в рамках которого проверяет высказывания наиболее рейтинговых политиков. Недавно они выложили всю базу проверенных цитат. Я как раз слушаю курсы по NLP и решила проверить, насколько точно по тексту цитаты можно определить ее автора.

Disclaimer. Эта статья написана из интереса к теме и желания опробовать изученный материал на практике, без претензий на максимально точный и детальный анализ.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Deep Learning — не только котики на мобилках или как мы производим дефектовку тележек локомотивов

Буквально пару дней назад компания Aurorai передала в опытную эксплуатация систему распознавания дефектов и контроля состояния тележек для локомотивов Ермак. Задача нетривиальная и очень интересная, первым этапом которой было предложено оценить состояние тормозных колодок и ширины бандажа. Нам удалось решить задачу с точность до 1мм при скорости локоматива до 30 км/ч! Хочу отметить, что благодаря специфики можно было использовать “TTA (test-time augmentation)” – яркий пример kaggle-style хака из соревнований, который плохо ложится на прод и семантическую сегментацию на базе se_resnext50 encoder, которая даёт поразительный по точности результат в предсказании маски.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Pipenv: руководство по новому инструменту Python

Все чаще во всевозможных статьях можно встретить использование pipenv вместо virualenv или workon. Если вы до сих пор не знаете что такое pipenv то это статья Alexander VanTol Pipenv: A Guide to the New Python Packaging Tool именно для вас.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Понимание Q-learning, проблема «Прогулка по скале»

Это перевод статьи Understanding Q-Learning, the Cliff Walking problem Lucas Vazquez

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

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Разбор задач. Бинпоиск_1

Серия статей содержит разбор задач, которые дают в 8 классе на уроках информатики в Челябинском физико-математическом лицее №31.

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Введение в декораторы

Перевод статьи Nicholas Samuel "Introduction to Python Decorators"

     11.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Сортировка списка с unicode strings

Думал, что после стольких лет Python уже не удивит меня, однако пословица Век живи, век учись стала для меня как никогда актуальной вчера. Задача была весьма простая: отсортировать список с строками, где строка - это украинское имя, то есть вроде бы все должно быть предельно просто используя Python 3.7.2:

     10.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Снижает ли скорость снижение скорости?

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

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

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

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

     10.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Система скриптового 3д моделирования ZenCad

Та работа, которую я хочу представить вашему вниманию, есть попытка еще раз написать систему скриптового 3д моделирования. Написать так, как я её хотел бы видеть.

 

 

Рецепт системы ZenCad довольно прост. Концепт скриптового 3д моделирования OpenScad, геометрическое ядро OpenCascade, python3 в качестве клея, библиотека ленивых вычислений evalcache для агресивного кеширования вычислений. Добавить специй еще из пары-тройки инструментов, приправить gui под соусом PyQt, и подать к столу перемешав, но не взбалтывая.

     10.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Вычисляем символьные выражения с нечеткими треугольными числами в python

Сегодня миниатюрный туториал о том, как сделать разбор строки с математическим выражением и вычислить его используя нечеткие треугольные числа. При соответствующих изменениях кода туториал сгодится для работы и с другими «кастомными» переменными. Справка: нечеткие треугольные числа — частный случай нечетких чисел (нечетких переменных на числовой оси). Ознакомиться подробнее рекомендую здесь и здесь.

     09.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Релизы

ctyped 0.6.0 — ctypes на аннотациях типов

О новом инструменте, упрощающем работу с ctypes.

     07.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Распознавание номеров. Как мы получили 97% точности для Украинских номеров. Часть 2

Продолжаем рассказ о том как распознавать номерные знаки для тех кто умеет писать приложение «hello world» на python-е! В этой части научимся тренировать модели, которые ищут регион заданного объекта, а также узнаем как написать простенькую RNN-сеть, которая будет справляться с чтением номера лучше чем некоторые коммерческие аналоги.
В этой части я расскажу как тренировать Nomeroff Net под Ваши данные, как получить высокое качество распознавания, как настроить поддержку GPU и ускорить все на порядок…

     07.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

SOLID принципы

В этой статье я расскажу про пять архитектурных принципов программирования, которые помогут сделать ваш код гибким, понятным и легко поддерживаемым. Все о чем будет рассказано далее находится в книги Роберт К. Мартин Гибкая разработка программ. Принципы, примеры, практика (Agile Software Development Principles, Patterns and Practices )

     07.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Для чего нам в СИБУРе продвинутая аналитика

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

     06.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Поддержка + и — для словарей

Сложение и вычитание словарей становятся чуть реальнее.

     05.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

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

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

     05.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Обучение моделей TensorFlow с помощью Службы машинного обучения Azure

Для глубокого обучения нейронных сетей (DNN) с помощью TensorFlow служба «Машинное обучение Azure» предоставляет пользовательский класс TensorFlow средства оценки Estimator. Средство оценки TensorFlow в пакете Azure SDK (не следует путать с классом tf.estimator.Estimator) позволяет легко отправлять задания обучения TensorFlow для одноузловых и распределенных запусков в вычислительных ресурсах Azure. 

     04.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Использование учетных записей Joomla в проекте на Django

Допустим что сайт, которым пользуются ваши пользователи, написан на Joomla, но для создания нового продукта для вашей аудитории вы выбрали связку Python/Django. Как следствие, возникает необходимость использовать в Django учетные записи пользователей из базы данных Joomla. Проблема однако в том, что Joomla и Django используют разные алгоритмы хэширования паролей, поэтому просто скопировать учетные записи не получится. Почитав документацию Django, stack overflow и потратив некоторое время, получилось нижеописанное решение, которое по максимуму использует рекомендуемые практики разработки под Django.