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

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

     15.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Python в Visual Studio Code – январский релиз 2020

Мы рады представить январский релиз 2020 расширения Python для Visual Studio Code. Вы можете скачать расширение из маркетплейса, или установить его напрямую из галереи расширений в Visual Studio Code. Если расширение Python у вас уже установлено, вы можете получить последнее обновление перезапустив Visual Studio Code. Подробности о поддержке Python в Visual Studio Code вы можете прочитать в документации.  

     13.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Keras Functional API в TensorFlow

В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ациклического графа, что дает намного больше возможностей для построения сложных моделей. В материале перевод руководства, посвященного особенностям Functional API, с сайта TensorFlow.

     13.01.2020       Выпуск 317 (13.01.2020 - 19.01.2020)       Статьи

Что принёс нам Pandas 1.0

9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25.

 

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

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

     10.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Разработка идеального pypi пакета с поддержкой разных версий python

Это небольшой мануал/история о том, как создать "идеальный" pypi пакет для python, который каждый желающий сможет установить заветной командой:

 

pip install my-perfect-package

Ориентирована на новичков, но призываю и профессионалов высказать свое мнение, как можно улучшить "идеальный" пакет. Поэтому прошу под кат.

     10.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Повышение продуктивности при работе с Jupyter Notebook за 5 минут

Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.

     10.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Эксперименты с нейронными сетями на данных сейсморазведки

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

Данная статья описывает эксперимент по анализу применимости нейронных сетей для автоматизации выделения геологических слоев на 2D-изображениях на примере полностью размеченных данных из акватории Северного моря.

     10.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Отслеживаем прогресс выполнения в Python

Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.

 

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

     09.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Начинаем работу с Google Sheets на Python. От регистрации до чтения данных

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

Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным.

Когда я впервые столкнулся с необходимостью работы c таблицами Google из Python, то пребывал в иллюзии, что все это можно сделать в пару кликов. Реальность оказалась менее радужной, но другого глобуса у нас нет.

     09.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Новые фичи Python 3.8 и самое время перейти с Python 2

Наступил 2020 год, а значит, Python 2 перестал поддерживаться. Если быть совсем точным, то основные разработчики уже перестали заниматься веткой, а выход релиза 2.7.18, приуроченный к PyCon US в апреле 2020 года, ознаменует полное прекращение любой активности, связанной с Python 2.

 

С другой стороны, совсем недавно состоялся релиз Python 3.8, добавивший немного синтаксического сахара в язык. Python 3.9 же ожидается ещё нескоро, да и пока не похоже что добавит в язык что-то интересное.

     08.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Базовая настройка aiohttp.web приложений

Словил себя на мысли, что несмотря на то, что большинство моих веб-приложений работают на aiohttp.web, их настройка происходит в лучших Django традициях

     08.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Автоматическое обновление кода до TensorFlow 2

В материале предоставлен перевод руководства по автоматическом обновлению кода с TensorFlow 1.x до Tensorflow 2 с помощью скрипта обновления tf_upgrade_v2.

TensorFlow 2.0 включает много изменений API, таких как изменение порядка аргументов, переименование символов и изменение значений по умолчанию для параметров. Ручное исправление всех этих модификаций утомительно и подвержено ошибкам. Чтобы упростить изменения и сделать ваш переход на TF 2.0 как можно более плавным, команда TensorFlow создала утилиту tf_upgrade_v2, помогающую перейти от legacy кода к новому API.

     08.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Как сделать бота, который превращает фото в комикс. Часть вторая. Обучение модели

Когда я обучал модель для @photo2comicsbot в первый раз, я, не мудрствуя лукаво, просто запихнул около 1000 страниц комиксов в датасет.
Да, вместе с обложками, анонсами и прочими филлерами.

     07.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Deep Reinforcement Learning: как научить пауков ходить

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

 

Основой решения является алгоритм Advantage Actor Critic (A2C) с оценкой Advantage через Generalized Advantage Estimation (GAE).

     06.01.2020       Выпуск 316 (06.01.2020 - 12.01.2020)       Статьи

Mask-R CNN от новичка до профессионала

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

     05.01.2020       Выпуск 315 (30.12.2019 - 05.01.2020)       Статьи
     04.01.2020       Выпуск 315 (30.12.2019 - 05.01.2020)       Статьи

Multiprocessing и реконсиляция данных из различных источников

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

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

     02.01.2020       Выпуск 315 (30.12.2019 - 05.01.2020)       Статьи

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2

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

     01.01.2020       Выпуск 315 (30.12.2019 - 05.01.2020)       Статьи

Письмо начинающему изучать Data Science

Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.

     28.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Реализация строкового типа в CPython

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

     27.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Статьи

Принимаем и декодируем аналоговое ТВ с помощью SDR и Python

Сегодня мы продолжим тему SDR-приема и обработки сигналов. Приемом аналогового ТВ я заинтересовался совершенно случайно, после вопроса одного из читателей. Однако это оказалось не так просто, из-за банального отсутствия образцов сигнала — во многих местах аналоговое ТВ уже отключено. Читатель даже прислал запись с RTL-SDR, однако ширина записи у RTL порядка 2МГц, в то время как полоса ТВ-сигнала занимает около 8МГц, и на записи было ничего не понятно. В итоге, тема была надолго заброшена, и наконец, только сейчас, в очередную поездку к родственникам я взял с собой SDRPlay, и настроившись на частоты ТВ-каналов, увидел на экране искомый сигнал.