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

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

     09.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Обширный обзор собеседований по Python. Советы и подсказки

После 3-х недель собеседований, поисков, учёбы, бессонных ночей (часто прокручивал в голове возможные повороты событий, варианты ответов и т.д.) я получил достаточно много предложений. Первые два пришлось отклонить, поскольку закончился deadline по принятию решения, а я ждал предложений от других контор. В результате я принял для себя конкретный день, чтобы определиться и ждал результатов текущих и пройденных собеседований. Честно говоря, выбор у меня был достаточно сложный, поскольку варианты, между которыми я выбирал, в целом были очень привлекательными. В общем я решил поставить для себя приоритетом направление развития, а не условия и проект. Даже после принятия решения (и предложения) другие продолжали приходить (но для меня это уже было неважно).

     07.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Делаем прототип бота для боев в Clash Royale

У вас бывало, что вы залипаете в какую-то простенькую игру, думая, что с ней вполне бы мог справиться искусственный интеллект? У меня бывало, и я решил попробовать создать такого бота-игрока. Тем более, сейчас много инструментов для компьютерного зрения и машинного обучения, которые позволяют строить модели без глубокого понимания подробностей реализации. «Простые смертные» могут сделать прототип, не строя нейронные сети месяцами с нуля.

     07.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Пишем XGBoost с нуля — часть 2: градиентый бустинг

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

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

     07.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Ускорить сложные вычисления с минимальной загрузкой RAM

В процессе освоения ML, СNN, NN на Python новичок почти всегда сталкивается с проблемой скорости вычислений, а иногда и нехватки оперативной памяти.

Особенно это заметно с большими базами, которые по размеру больше 50% свободной RAM. Мысли о покупке более достойного железа всего лишь одно из возможных решений.

Иной вариант использовать одну из возможностей в Python — итерации по самой функции.

Простой и наглядный пример. Допустим Вам необходимо возвести в 200 000 степень ряд чисел от 1 до 10 и сложить их сумму. В итоге вы должны получить число длинной 200 тыс знаков. это в 2 раза больше чем google)

     06.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Пишем XGBoost с нуля — часть 1: деревья решений

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

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

     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи
     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи
     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Делаем нейронную сеть: как не сломать мозг

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

Речь пойдет о создании тривиальной нейронной сети на Keras, с помощью которой будем предсказывать среднее арифметическое двух чисел.

Казалось бы, что может быть проще. И действительно, ничего сложного, но есть нюансы.

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

     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Мозг изнутри (Визуализация прохождения паттерна через модель искусственной нейронной сети)

Статья предназначена для тех, кто когда-либо интересовался вопросом о том что же происходит внутри искусственной нейронной сети (artificial neural network) — ИНС. Сейчас разработать собственную ИНС может практически каждый используя уже готовые библиотеки, в большинстве языков программирования. В рассматриваемой статье я постараюсь показать как именно выглядит объект (Паттерн) проходящий через слои ИНС, разработанной и скомпилированной при помощи библиотеки глубокого обучения Tensorflow с надстройкой Keras.

     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи
     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Безопасность алгоритмов машинного обучения. Защита и тестирование моделей с использованием Python

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

     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

«Удаление» объектов в Django

Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей. Читать дальше →

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Python. DTO + аннотации типов

Ингода динамическая типизация Python позволяет писать код, который просто писать, но довольно сложно читать и, как следствие, поддерживать.

В этой статье я хочу рассмотреть паттерн Data Transfer Object (DTO) который зачастую помогает сделать код более читабельным.

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи
     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Подборка @pythonetc, январь 2019

Это восьмая подборка советов про Python и программирование из моего авторского канала @pythonetc.

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи
     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Как мы делали мониторинг сети на 14 000 объектов

У нас было 14 000 объектов, zabbix, api, python и нежелание добавлять объекты руками. Под катом — о том, как сетевиками внедрялся мониторинг с автоматическим добавлением узлов сети, и немного про боль, через которую пришлось пройти.

Статья больше ориентирована на сетевых инженеров с небольшим опытом в python. В помощь при автоматизации мониторинга и улучшения качества жизни и работы, в отсутствии необходимости руками актуализировать весь парк объектов.

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Микрооптимизации для Python 3.8

Работа над повышением производительности Питона продолжается.

     04.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

Разбираем протокол пейджерных сообщений POCSAG, ч2

В первой части был рассмотрен протокол обмена пейджерными сообщениями POCSAG. Были рассмотрены цифровые сообщения, перейдем теперь к более «полноценным» сообщениям в формате ASCII. Тем более, что декодировать их интереснее, т.к. на выходе будет читаемый текст.