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

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

     27.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

Реализуем и сравниваем оптимизаторы моделей в глубоком обучении

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

     27.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

AutoVIML: Автоматизированное машинное обучение

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

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

AutoVIML – это открытый пакет Python, который упрощает машинное обучение.

     26.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

Создание камеры-ловушки с использованием Raspberry Pi, Python, OpenCV и TensorFlow

Я сильно верю в обучение через практику, через создание чего-то нового. А для того чтобы что-то создавать, нужно чтобы работа приносила бы удовольствие.

Я начну рассказ о моём новом проекте с того, что раскрою причины, по которым решил попытаться создать камеру-ловушку на основе Raspberry Pi.

     26.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

Расширение возможностей алгоритмов Машинного Обучения с помощью библиотеки daal4py

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

 

Данная статья продемонстрирует, как на примере алгоритмов, взятых из библиотеки Scikit-Learn, можно расширить возможности обучения нейронных сетей, путём использования ускоренных вычислений библиотеки daal4py.

     26.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

Разбор вступительных задач Школы Программистов hh.ru

20 октября закончился набор в Школу программистов hh. Он длился два с половиной месяца. Мы благодарим всех участников, уделивших время попытке поступить к нам. Надеемся, вам понравились задания и вы получили удовольствие от их решения!

     26.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

Ускорение CPython в 5 раз

О финансировании для ускорения CPython

     26.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

Создаём установщик веб-приложения Python, включающий Apache, Django и PostgreSQL для ОС Windows

Данный пост является продолжением первой части статьи на Хабре, где было подробно рассказано о развертывании Django стека на MS Windows. Далее будет представлена пошаговая инструкция по созданию инсталлятора, который будет автоматизировать процесс установки стека на других компьютерах без необходимости работы в командной строке, созданием виртуальных машин и т.д., где вся последовательность действий будет сводится к действиям Далее -> Далее -> Готово.

     25.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Что происходит, когда вы выполняете manage.py test?

Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране?

Когда вы узнаете, как работает Django, то откроете для себя множество вариантов использования, таких как изменение файлов cookie, установка глобальных заголовков и логирование запросов. Аналогично, поняв то, как работают тесты, вы сможете кастомизировать процессы, чтобы, например, загружать тесты в другом порядке, настраивать параметры тестирования без отдельного файла или блокировать исходящие HTTP-запросы.

     25.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Pylint: о попытке снизить потребление памяти

Мне приходится работать с огромной кодовой базой, написанной на Python. Этот код, с помощью системы непрерывной интеграции, проверяется с помощью Pylint. Подобная проверка всегда была немного медленной, но недавно я обратил внимание на то, что при её проведении ещё и потребляется очень много памяти. Это, при попытке распараллеливания проверок, приводит к сбоям, которые связаны с нехваткой памяти.

     24.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Hack The Box. Прохождение Dyplesher. Memcached, Gogs, RCE через создание плагина и LPE через AMQP

Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox.

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

     22.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Как просто и быстро искать данные с помощью Whale

В этом материале рассказывается о простейшем и быстром инструменте обнаружения данных, работу которого вы видите на КДПВ. Интересно, что whale создан таким образом, чтобы размещаться на удаленном git-сервере. Подробности под катом.

     22.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Сказ о том, как я токен в Линуксе хранил

Когда речь идёт о хранении sensitive data в браузере, достаточно воспользоваться одним из двух доступных вариантов: cookies или localStorage. Тут каждый выбирает по вкусу. Однако я посвятил эту статью Secret Service – службе, которая работает через D-Bus и предназначена для хранения «секретов» в Linux.

У службы есть API, которым пользуется GNOME Keyring для хранения секретов приложений.

     22.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Автоматизация работы с проектом Python

Сегодня делимся с вами переводом статьи DevOps инженера из IBM, об автоматизации сборки быстро собираемых и удобно отлаживаемых образов Docker для проектов на Python с помощью Makefile. Этот проект не только упрощает отладку в Docker, но и заботится о качестве кода вашего проекта. Подробности, как всегда, под катом.

     22.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Мелкая питонячая радость #11: реактивное программирование, парсинг страниц и публикация моделей машинного обучения

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

     22.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Deep Learning Inference Benchmark — измеряем скорость работы моделей глубокого обучения

Перед разработчиками встает задача определения производительности железа в задаче исполнения глубоких моделей. Например, хочется решить проблему анализа пола-возраста покупателей, которые заходят в магазин, чтобы в зависимости от этого менять оформление магазина или наполнение товаром. Вы уже знаете какие модели хотите использовать в вашем ПО, но до конца не понятно как выбрать железо. Можно выбрать самый топ и переплачивать как за простаивающие мощности, так и за электроэнергию. Можно взять самый дешевый i3 и потом вдруг окажется, что он может вывезти каскад из нескольких глубоких моделей на 8 камерах. А может быть камера всего одна, и для решения задачи достаточно Raspberry Pi с Movidius Neural Compute Stick? Поэтому хочется иметь инструмент для оценки скорости работы вашего инференса на разном железе, причем еще до начала обучения.

     21.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Fastcore — недооцененная но полезная библиотека Python

Недавно я начал оттачивать владение языком программирования Python. Я хотел изучить продвинутые паттерны, идиомы и методы программирования. Начал я с чтения книг по продвинутому Python, но информация, похоже, не откладывалась в голове без применения навыков. Хотелось иметь возможность задавать вопросы эксперту, пока учусь, а такую возможность трудно найти! Тогда ко мне и пришла идея: что, если я найду проект с открытым и достаточно продвинутым кодом и напишу документацию и тесты? Я сделал ставку, что это заставит меня изучать все очень глубоко, а поддерживающие проект люди оценит мою работу и будут готовы ответить на мои вопросы.

     20.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Как я получил пожизненный запас чесночной пиццы с помощью Python и Selenium

История голодного студента с пытливым умом Не знаю, как вы, а я обожаю пиццу. Особенно если это особые чесночные пицца-палочки Papa John’s. Поэтому я был в восторге, когда после заказа еды навынос получил от них следующее письмо: Papa John’s (с) Заголовок письма с опросом Бесплатная еда! Мне определённо нужно было пройти этот опрос

     20.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Абстрагируемся от фреймворков глубокого обучения с Neuropod от Uber

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

     20.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

О полезности contextvars

В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскажу о функциональности, представленной еще в версии 3.7. На мой взгляд, она совершенно незаслуженно обделена пристальным вниманием. Речь, конечно же, о contextvars.

     19.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Головоломка для ИИ

Как я учил агента собирать клетку 2048 в игре “2048”