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

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

     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 хранит в себе множество интересностей и особенностей реализации. Их может быть полезно знать при написании своих скриптов, так и в качестве пособия по архитектурным и алгоритмическим решениям. Не являются исключением здесь и строки.

     28.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Видео

Moscow Python Podcast. Как контрибьютить в опенсорс? (level: middle+)

Хочешь пойти в опенсорс, но не знаешь, с чего начать? Куда двигаться, чтобы найти крутой проект и быть замеченным? Гость нашего очередного выпуска, Николай Ижиков, контрибьютит в Apache Ignite в качестве основной работы. Николай расскажет, как он дошел такой жизни, из чего состоит мир опенсорса, и как в нем ориентироваться

     27.12.2019       Выпуск 314 (23.12.2019 - 29.12.2019)       Видео

Как мы не внедрили GraphQL

В один прекрасный момент мы пришли к тому, что нам необходимо переписать наше самописное API. Помимо классического REST мы решили рассмотреть и GraphQL. О результатах — в докладе (спойлер в названии)

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

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

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

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

Автогенерация и заливка элементов конфигураций сетевых устройств с помощью Nornir

Недавно тут проскочила статья Mikrotik и Linux. Рутина и автоматизация где подобную задачу решали ископаемыми средствами. И хотя задача совершенно типовая, на Хабре про нее как то ничего подобного и не находится. Осмелюсь предложить уважаемому ИТ-сообществу свой велосипед.

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

Отправляем письма с помощью asyncio и aiohttp из Django приложения

Я занимаюсь разработкой и поддержкой сервиса уведомлений. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отписки у нас работают лучше подписок) пользователям, давшим на это согласие. Со временем база активных получателей разрослась до более миллиона адресов, к чему почтовый сервис не был готов. Я хочу рассказать о том, как новые возможности Python позволили ускорить массовые рассылки и сэкономить ресурсы и с какими проблемами нам пришлось столкнуться при работе с ними.