Azure Notebooks — облачный сервис готовых Jupyter-ноутбуков со всем необходимым окружением в облаке Microsoft Azure

Azure Notebooks — облачный сервис готовых Jupyter-ноутбуков со всем необходимым окружением в облаке Microsoft Azure

Большинство дата-сайнтистов обычно устанавливают себе на компьютер Python-окружение (например, Anaconda или Miniconda), а затем запускают локальный Jupyter server и создают ноутбуки на своём локальном компьютере. Если вдруг нужен очень высокопроизводительный компьютер, можно запускать Jupyter на сервере, и работать с ним по сети через браузер.

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

Использовать Azure Notebooks зачастую намного удобнее, чем Python-cреду на локальном компьютере.

1. Можно сразу начать программировать

Начинаете ли вы изучать Python, или хотите немного поэкспериментировать с F# — первым делом необходимо установить окружение для разработки, например Visual Studio или Anaconda. Это требует, как минимум, времени и дискового пространства. Если вы собираетесь заниматься серьезной разработкой — скорее всего эти усилия окупятся, однако если вы просто хотите попробовать кусочек кода, или если вы пришли на вечеринку к друзьям и хотите похвастаться своей последней программой — скорее всего у Вас не будет лишних пару часов времени на установку. В этих случаях вы можете просто зайти со своим Microsoft Account по адресу http://notebooks.azure.com и сразу начать программировать на одном из доступных языков: Python 2/3, R или F#.

2. Ваш код доступен отовсюду

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

3. Легко делитесь кодом

Azure Notebooks — это прекрасный способ делиться кодом с другими людьми. Каждому проекту соответствует уникальная ссылка, которую вы можете отправить друзьям (при этом важно, чтобы проект был общедоступным). С этой ссылкой Ваши друзья смогут:

В отличие от Google Colab, вы делитесь сразу всем проектом, который может включать в себя сразу несколько ноутбуков, а также данные, файл README, конфигурацию окружения requirements.txt и т.д.

Если вам необходимо настроить окружение, например установить какие-то пакеты — это можно сделать с помощью файлов конфигурации, или включив в начало ноутбука команды pip install (это полезно также, если вы хотите достичь совместимости с Google Colab). Установка пакетов в ноутбуках F# производится через пакетный менеджер Paket, как это описано здесь: 

https://docs.microsoft.com/azure/notebooks/install-packages-jupyter-notebook/

4. Документированный код / Журналистика данных

Ноутбук — это прекрасный способ добавить подробные инструкции к программному коду, или наоборот — добавить вычисляемые фрагменты к тексту. Это может быть полезно во многих сценариях:

5. Презентации

Возможность, отличающая Azure Notebooks от всех аналогичных решений — возможность использовать их для презентаций с помощью расширения RISE, которое предустановлено. вы можете помечать ячейки как отдельные слайды, или как фрагменты (продолжение предыдущих слайдов), чтобы создать анимацию. Некоторые ячейки вы можете "скрыть" — например, если они содержат какой-то полезный исполняемый код, который нет нужны показывать слушателям, или длинный поясняющий текст, видный в режиме ноутбука, но не в режиме слайдов.

Конечно, Azure Notebooks не предназначены для создания красивых маркетинговых презентаций, но для многих случаев, когда важно содержание, а не оформление, такой подход оказывается удобнее. Особенно прекрасно использовать Azure Notebooks для академических и научных презентаций, поскольку вы можете использовать LaTeX-формулы. И не забывайте, что ноутбуками легко делиться!

6. Исполняемый код для GitHub-репозитория

Если вы поддерживаете на GitHub свой проект на Python, то с помощью Azure Notebooks вы сможете дать возможность посетителям запускать Ваш код. Один из способов — это параллельно выложить код в Notebooks-проект и указать ссылку, по которой посетители смогут клонировать примеры и попробовать их. Однако ещё удобнее использовать прямое клонирование из любого GitHub-репозитория — всё, что вам нужно сделать — это включить следующий код в описание проекта в Readme.md:

<a href="https://notebooks.azure.com/import/gh/<git_user>/<repo>">

<img src="https://notebooks.azure.com/launch.png" /></a>

7. Выполнение кода на разных серверах

В задачах глубокого обучения очень часто мы можем начать разрабатывать обучающий скрипт и запускать его на подмножестве данных на обычной машине, а затем перенести процесс обучения на компьютер с GPU. Azure Notebooks позволяют делать это очень элегантно. При открытии проекта мы по умолчанию запускаем его на бесплатном вычислительном ресурсе (Free Compute), но, если у нас есть привязанная к нашему аккаунту подписка Azure, мы также можем выбрать из списка любую подходящую виртуальную машину (под словом "подходящую" я имею в виду Data Science Virtual Machine под управлением Ubuntu).

Обычно в своей работе начинают разрабатывать код на бесплатном ресурсе, и затем переключаются на VM. При этом Azure Notebooks автоматически перенесут (а точнее подмонтируют) всё проектное окружение (включая ноутбуки и файлы данных из проекта) к выбранной виртуальной машине.

Справедливости ради стоит отметить, что предоставляемая бесплатно виртуальная машина очень неплоха, с 4 Гб памяти и 1 Гб дискового пространства.

8. Преподавание

Azure Notebooks исключительно удобный инструмент в преподавании. Вот как вы можете использовать ноутбуки:

Для преподавания также используются другие облачные технологии, например Azure Functions для получение результатов лабораторных работ

Некоторые особенности

Azure Notebooks — замечательный инструмент, но есть некоторые особенности, о которых стоит помнить:

Примеры

Хороший способ быстро познакомиться с разными возможностями Azure Notebooks, вроде построение графиков, установки пакетов, доступом к внешним данным и т.д. — это начать с примеров https://notebooks.azure.com/#sample-redirect . Ещё одна замечательная коллекция примеров для Jupyter есть тут https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks. Помните: вы можете запустить любой Jupyter Notebook в Azure просто загрузив файл .ipynb в проект.

Azure Notebooks — замечательный инструмент, который поможет вам во множестве жизненных ситуаций.

Несмотря на то, что есть и другие способы запуска ноутбуков в облаке, включая Google Colab и Binder, сравнение показывает, что Azure Notebooks включает в себя максимальное количество крайне полезных фич.

Надеюсь, что Azure Notebooks сделают Вашу жизнь лучше и продуктивнее, и вы станете постоянно их использовать!

Официальная документация по Azure Notebooks доступна тут: http://aka.ms/aznb


Опубликовано: 19 ноября 2019


Выбрать программное обеспечение


Напишите запрос на программное обеспечение нам в Viber
+380503703627


Контакты Ай Ти Про

info@itpro.ua
Телефон: +38 (044) 257-24-44