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

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

     31.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Автоматическая визуализация python-кода. Часть четвертая: поддержка документирования

Ссылки на предыдущие части:

 

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

     30.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Мета-грамматика для PEG парсера

На этой неделе мы делаем генератор парсеров «самостоятельным», то есть он будет генерировать свой собственный парсер.

     29.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Многопроцессный доступ к Intel Neural Computer Stick через REST

В прошлой серии я поставил на танк Intel Neural Computer Stick 2 и перекинул на него все нейросетевые вычисления, отказавшись от Tensorflow и OpenCV-DNN.

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

     29.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Как мы используем цепи Маркова в оценке решений и поиске багов. Со скриптом на Python

Нам важно понимать, что происходит с нашими студентами во время обучения, и как эти события влияют на результат, поэтому мы выстраиваем Customer Journey Map — карту клиентского опыта. Ведь процесс обучения — не нечто непрерывное и цельное, это цепочка взаимосвязанных событий и действий студента, причем эти действия могут сильно отличаться у разных учеников. Вот он прошел урок: что он сделает дальше? Пойдет в домашнее задание? Запустит мобильное приложение? Изменит курс, попросит сменить учителя? Сразу зайдет в следующий урок? Или просто уйдет разочарованным? Можно ли, проанализировав эту карту, выявить закономерности, приводящие к успешному окончанию курса или наоборот, «отваливанию» студента?

     29.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Python v3.x: обработчик исключений для корутин и синхронных функций. Вобщем, для всего

В свободное время я работаю над своим небольшим проектом. Написан на Python v3.x + SQLAlchemy. Возможно, я когда-нибудь напишу и о нем, но сегодня хочу рассказать о своем декораторе для обработки исключений. Его можно применять как для функций, так и для методов. Синхронных и асинхронных. Также можно подключать кастомные хэндлеры исключений.

     29.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

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

Мой опыт подсказывает, что любой более или менее сложный проект по машинному обучению рано или поздно превращается в набор сложных неподдерживаемых внутренних инструментов. Эти инструменты, как правило, мешанина из скриптов Jupyter Notebooks и Flask, которые сложно развёртывать и интегрировать с решениями типа GPU сессий Tensorflow.

 

Впервые я столкнулся с этим в университете Карнеги, затем в Беркли, в Google X, и, наконец, при создании автономных роботов в Zoox. Зарождались инструменты в виде небольших Jupyter notebooks: утилита калибровки сенсора, сервис моделирования, приложение LIDAR, утилита для сценариев и т.д.

С ростом важности инструментов появлялись менеджеры. Бюрократия росла. Требования повышались. Маленькие проекты превращались в огромные неуклюжие кошмары.

     29.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

[Перевод] Добавление экшенов в грамматику PEG

Грамматика становится ещё лучше, если вы можете добавить (некоторую) семантику в соответствии с правилами. В частности, для анализатора Python, который я разрабатываю, мне нужно возвращать узел AST из каждой альтернативы, поскольку я хочу придерживаться текущей реализации AST в CPython.

     28.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Пишем программу для камеры хранения с функцией распознавания лица

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

     28.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Идея инерции(SGDm), идея масштабирования (Adagrad) и регуляризация в машинном обучении на примере задачи классификации

Датасет, используемый далее, взят с уже прошедшего соревнования на kaggle отсюда.
На вкладке Data можно прочитать описание всех полей.

Весь исходный код здесь в формате ноутбука.

     28.10.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Статьи

Концерты и события KudaGo у вас на зеркале

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

     27.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

Django: Использование Google reCAPTCHA

Статья описывает использование Google reCAPTCHA с батарейкой evileg-core

     26.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

Анализируем тональность текстов с помощью Fast.ai

В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использованием Word2vec модели. В нашем примере будем решать ту же самую задачу разделения твитов на позитивные и негативные на том же самом датасете с использованием модели ULMFit. Результат из статьи, (average F1-score = 0.78142) примем в качестве baseline.

     26.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

Леворекурсивные PEG грамматики

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

     25.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

Плюсы и минусы Django

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

 

 

Фреймворк поможет разработать CRUD приложение под ключ. С Django не придется изобретать велосипед. Он работает из коробки и позволит сосредоточиться на бизнес-логике и продуктах для обычных людей.

     24.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

Как работает FaceID в iPhone X: алгоритм на Python

Одна из самых крутых фишек iPhone X – это метод разблокировки: FaceID. В этой статье разобран принцип работы данной технологии.

Изображение лица пользователя снимается с помощью инфракрасной камеры, которая более устойчива к изменениям света и цвета окружающей среды. Используя глубокое обучение, смартфон способен распознать лицо пользователя в мельчайших деталях, тем самым “узнавая” владельца каждый раз, когда тот подхватывает свой телефон. Удивительно, но Apple заявила, что этот метод даже безопаснее, чем TouchID: частота ошибок 1:1 000 000.

В этой статье разобран принцип алгоритма, подобного FaceID, с использованием Keras. Также представлены некоторые окончательные наработки, созданные с помощью Kinect.

     24.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов

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

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

     24.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

[Перевод] Python и быстрые HTTP-клиенты

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

     23.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

«Вроде, такое уже было?» Поиск похожих инцидентов и заявок

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

     23.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

Параметризация из файла в py.test

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

 

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

В этой статье я расскажу о своем решении этой задачи.