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

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

     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Аналоги в Python и JavaScript. Часть первая

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

     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Django Tutorial - Различные шаблоны для рендеринга разных типов контента в поисковой выдаче на сайте

В процессе разработки сайта возникает необходимость сделать поисковую выдачу, при этом если сайт со временем становится большим, то и в поисковой выдаче могут появиться различные виды контента, а не только статьи, например. Для того, чтобы каждый вид контента имел собственно отображение, можно сделать в шаблоне обычный выбор через if else и какой-нибудь параметр Type или же сделать через переменную, содержащую путь к шаблону отображения объекта без всяких if else.

     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи
     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи
     08.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

NumPy в Python. Часть 4

Всем здравствуйте, вот мы и подошли к конечной части. Приятного чтения!

     06.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Извлекаем уровни из Super Mario Bros с помощью Python

Для нового проекта мне понадобилось извлечь данные уровней из классической видеоигры 1985 года Super Mario Bros (SMB). Если конкретнее, то я хотел извлечь фоновую графику каждого уровня игры без интерфейса, подвижных спрайтов и т.п.

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

На первом этапе проекта мы изучим язык ассемблера 6502 и написанный на Python эмулятор. Полный исходный код выложен здесь.

     06.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Нейробугу́рт. Как мы научили нейросеть придумывать мемы на год раньше Стэнфорда

К написанию статьи меня подтолкнула вот эта новость (+исследование) про изобретение генератора мемов учеными из Стэнфордского университета. В своей статье я попытаюсь показать, что вам не нужно быть ученым из Стэнфорда, чтобы делать с нейросетями интересные вещи. В статье я описываю, как в 2017 году мы обучили нейронную сеть на корпусе из примерно 30 000 текстов и заставили ее генерировать новые интернет-мемы и мемы (коммуникационные знаки) в социологическом смысле слова. Описан использованный нами алгоритм машинного обучения, технические и административные трудности, с которыми мы столкнулись.

     06.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Управление окружением Python c Pipenv

Предположу, что для управления Python окружением в вашем проекте до сих пор используется pip и virtualenv.

 

Если это так, то позвольте рассказать о таком инструменте, как Pipenv.

Pipenv — это современный инструмент для управления рабочим окружением в Python.

Основные возможности pipenv:

  • Создание и управление виртуальным окружением
  • Синхронизация пакетов в Pipfile при установке и удалении пакетов
  • Автоматическая подгрузка переменных окружения из .env файла

     05.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Как использовать HDF5-файлы в Python

HDF5 позволяет эффективно хранить большие объемы данных

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

     05.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

kaggle: IEEE's Camera Model Identification

В конце зимы этого года прошло соревнование IEEE's Signal Processing Society — Camera Model Identification. Я участвовал в этом командном соревновании в качестве ментора. Об альтернативном способе формирования команды, решении и втором этапе под катом

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Формула Таппера и реализация алгоритма на Python

Не так давно на просторах интернета узнал о такой замечательной и удивительной копии Вавилонской библиотеки как о формуле Таппера. Вернее, это больше неравенство Таппера, чем формула. Особенность данного неравенства — оно создает собственное же изображение на графике. Просто посмотрите на это чудо!

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Django. Как сделать поиск по нескольким моделям данных Django

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

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Как ИИ учится генерировать изображения кошек

Опубликованная в 2014-м исследовательская работаGenerative Adversarial Nets (GAN) стала прорывом в сфере генеративных моделей. Ведущий исследователь Янн Лекун назвал состязательные сети (adversarial nets) «лучшей идеей в машинном обучении за последние двадцать лет». Сегодня благодаря этой архитектуре мы можем создать ИИ, который генерирует реалистичные изображения кошек. Круто же!

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи
     03.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

ПО для машинного обучения на Python

Сегодня существует большое количество программных инструментов для создания моделей Machine Learning. Первые такие инструменты формировались в среде ученых и статистиков, где популярны языки R и Python, исторически сложились экосистемы для обработки, анализа и визуализации данных именно на этих языках, хотя определенные библиотеки машинного обучения есть и для Java, Lua, С++. При этом интерпретируемые языки программирования существенно медленнее компилируемых, поэтому на интерпретируемом языке описывают подготовку данных и структуру моделей, а основные вычисления проводят на компилируемом языке.

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

     03.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи
     03.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Насколько open-source экосистема R хороша для решения бизнес-задач?

Поводом для публикации послужила запись в блоге Rstudio: «Shiny 1.1.0: Scaling Shiny with async», которая может очень легко пройти мимо, но которая добавляет очень весомый кирпичик в задаче применения R для задач бизнеса. На самом деле, в dev версии shiny асинхронность появилась примерно год назад, но это было как бы несерьезно и «понарошку» — это же dev версия. Перенос в основную ветку и публикация на CRAN является важным подтверждением, что многие принципиальные вопросы продуманы, решены и протестированы, можно спокойно переносить в продуктив и пользоваться.

 

А что еще есть в R, кроме «бриллианта», что позволяет превратить его в универсальный аналитический инструмент для практических задач?