Перейти к содержимому

Jupiter hub как пользоваться

  • автор:

Jupyter Notebook

Jupyter Notebook (Юпитер-ноутбук) — это программа-блокнот для записи, передачи и запуска кода. Ей можно пользоваться как своеобразной средой разработки. Она существует как веб-сервис, то есть доступна через интернет и позволяет передавать код другим разработчикам.

«IT-специалист с нуля» наш лучший курс для старта в IT

Чаще всего среду используют для Python, но она существует и для других языков программирования. Jupyter Notebook поддерживает языки Ruby, Perl, R, MATLAB, Julia и другие. Часто это специализированные языки для задач, которые подразумевают быстрое написание и выполнение маленькой программы.

Отличие Юпитер-ноутбука от традиционных сред разработки — в его интерактивности. Программа позволяет запускать отдельные участки и блоки кода, выполнять их в любом порядке. А результаты работы сразу можно вывести в то же окно рядом с кодом.

Юпитер-ноутбуками во множественном числе называют документы с кодом, созданные в среде.

Профессия / 8 месяцев
IT-специалист с нуля

Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

vsrat_7 1 (1)

Кто пользуется Jupyter Notebook

Чаще всего с юпитер-ноутбуками работают программисты на Python. Так сложилось исторически: проект вырос из IPython, особого расширения для «Питона», хотя сейчас у платформы есть поддержка и для других языков.

Основные сферы использования среды — big data и data science, машинное обучение, математическая статистика и аналитика. В этих направлениях пригодилась способность Jupyter Notebook выводить данные туда же, где написан код. Получается как бы страница блокнота: в одном месте собраны участки кода, результаты их выполнения, таблицы, участки и графики.

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

Для чего нужен Jupyter Notebook

  • Писать код в специальной среде с подсветкой синтаксиса, исправлением ошибок и другими возможностями IDE.
  • Запускать разные участки кода в произвольной последовательности или написанную программу целиком.
  • Загружать какие-то данные, обрабатывать и преобразовывать их, не затрагивая при этом другие участки программы.
  • Вставлять и выводить результаты, включая визуализацию, прямо посреди кода.
  • Делиться кодом с другими разработчиками и давать им общий доступ к проекту.
  • Организовывать командную работу, когда у каждого программиста — своя задача, связанная с другими.
  • Писать сопровождающий текст и оформлять «документ» так, чтобы он выглядел красиво и понятно.

Юпитер-ноутбук дает те же возможности, что стандартная IDE, но при этом он более гибкий и, как говорят его создатели, документоцентричный. То есть все написанное выглядит как документ и собрано в одном месте.

Две версии программы

Jupyter Notebook существует в двух версиях: облачная и для компьютера. Обе бесплатные, с открытым исходным кодом. Облачной версией можно пользоваться прямо через браузер. Нужно только подключение к интернету: принцип работы у нее как, например, у Google Документов.

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

Для загрузки локальной версии понадобится Python и установленный в него пакет Jupyter. Его можно скачать через консоль с помощью встроенной в Python утилиты pip. А еще Юпитер-ноутбук входит в состав расширения Anaconda.

Скачанные пакеты запустят локальный Jupyter-сервер, и интерфейс среды откроется в браузере. Им можно пользоваться на свое усмотрение, но доступа к облаку у локального сервера нет.

Как выглядит работа с Jupyter Notebook

Интерфейс программы похож одновременно на текстовый редактор и среду разработки. Можно представить Юпитер-ноутбук как документ с возможностью писать и выполнять код. Там есть инструменты и для форматирования самого документа, и для запуска или отладки программ.

Программирование. Если разработчик пишет на Python, он может просто создать файл и начать программировать, как в обычной среде. Для подключения других языков понадобится воспользоваться специальными командами — их называют магическими. Магическая команда выглядит как %% и переключает среду на указанный язык. Так можно подключить даже bash, консольный язык команд для операционных систем.

Код в Юпитер-ноутбуке разделен на отдельные участки — блоки. Каждый блок можно запускать отдельно от других. Между блоками может находиться текст, графика, результаты выполнения кода и так далее. Получается своеобразный интерактивный документ — одновременно программа и текстовый файл.

Тексты. Кроме написания кода, в Юпитер-ноутбуке можно писать текст. Это не просто комментарии: в среде есть возможности для создания полноценной интерактивной статьи с кодом. Jupyter Notebook поддерживает разметку Markdown, которая позволяет создавать заголовки и списки, добавлять интерактивные ссылки и делать многое другое.

Так можно создавать аналитические отчеты, статьи и интерактивные параграфы для учебников. Поэтому Jupyter Notebook любят в аналитике данных и статистике, где часто бывают нужны точные отчеты и визуализации с результатами.

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить

Графика. Картинки, графики и визуализацию можно добавлять как в текстовый документ. Кроме того, Юпитер-ноутбук поддерживает математические формулы. Графику можно выводить интерактивно: запускать блоки кода, чтобы они отрисовали нужную визуализацию. Результат последнего запуска не сотрется после выхода: он останется в документе, его смогут просмотреть другие люди или сам владелец, когда в следующий раз откроет ноутбук.

Для визуализации Jupyter Notebook использует библиотеки языков. Например, графики для Python чаще всего рисуются через Matplotlib. Юпитер-ноутбук поддерживает и другие расширения для визуализации, в том числе в интерактивном режиме. Правда, некоторые из них платные или медленные.

Запуск. В Jupyter Notebook, как и в любой IDE, можно запустить код. Отличие в том, что результаты показываются сразу и отображаются в том же документе. Для запуска есть специальная панель с кнопками: запустить, остановить, отладить и так далее.

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

Сохранение и общий доступ. В случае с локальной версией файлы сохраняются на устройстве. К облачной понадобится подключить хранилище, в котором будут лежать созданные ноутбуки. Чаще всего пользуются Google Colab — ответвлением Google Drive для разработки и исследований. Возможности Colab позволяют запускать код в браузере, сохранять документы и делиться ими.

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

Другие проекты

Есть еще одна версия среды-блокнота от тех же разработчиков, она называется Jupyter Lab. У нее несколько иной интерфейс и похожий принцип работы. Ее позиционируют как улучшенную версию Юпитер-ноутбука, которая позволяет «собирать» вместе несколько рабочих задач.

Для того чтобы делиться кодом с командой, есть JupyterHub — проект, который позволяет запустить собственный юпитер-сервер и дать к нему доступ другим людям.

Google Colab тоже можно использовать как интерактивный блокнот, это не только хранилище. Но у Jupyter Notebook шире возможности для разработчиков.

Преимущества Jupyter Notebook

Наглядность. Все находится в одном месте: код, сопровождающий текст, результаты и визуализация. Поэтому нужная информация всегда под рукой, а оформить ее можно в понятном формате. При этом Юпитер — полноценная среда, в которой можно запускать код и проверять его.

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

Широкие возможности. Jupyter Notebook мощный и гибкий. В нем все шире поддержка разных языков, в том числе специфических, есть нужные разработчику библиотеки. Облачная версия предоставляет мощности для отрисовки графиков — их тоже можно визуализировать с помощью разных инструментов. Markdown позволяет делать документы красивее и форматировать их. Есть и другие расширения: для создания презентаций, экспортирования документов в HTML и прочих функций.

Моментальный вывод результата. Результат выполненной программы в стандартной IDE открывается в отдельном окне или записывается в файл. В любом случае его довольно редко бывает можно просмотреть внутри среды, если это не текст и не число, а, скажем, график или таблица. А в Jupyter Notebook все отображается сразу под кодом, в том же документе. Удобно и, главное, видно сразу.

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

Недостатки Jupyter Notebook

Неуниверсальность. Если вам нужно только писать код, а тексты и графики ни к чему, Юпитер-ноутбук может оказаться попросту избыточным решением. К тому же он не подходит для крупных проектов, где все связано между собой. Он рассчитан на написание и выполнение отдельных маленьких «кусочков» программы, а не ее целиком. Держать там целый большой продукт будет неудобно как в отладке, так и в запуске.

Сложный перенос. Переносить код из Jupyter Notebook в другие среды — не самая простая задача все из-за той же структуры, основанной на маленьких блоках. Просто скопировать не получится. Нужно будет удалить лишнее и переписать часть кода.

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

IT-специалист с нуля

Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

картинка (75)

Статьи по теме:

  • Как научиться работе с данными самостоятельно на Python
  • Что такое Google Colab и кому он нужен

Что такое Jupyter-ноутбук и как его использовать

Jupyter Notebook — приложение с открытым исходным кодом, в котором можно сразу увидеть результат выполнения кода (в этом плане это не привычное всем IDE).

Детям из Мариуполя нужно 120 ноутбуков для обучения — подари старое «железо», пусть оно работает на будущее Украины

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

Удобная штука — отображение вывода сразу под выполненным фрагментом. Благодаря этому Jupyter ноутбук очень популярен в аналитике данных и Data Science. Специалисты получают предварительные результаты, строят графики и другую визуализацию.

Jupyter

1. Поддерживаемые языки

Основной язык Jupyter Notebook — Python. Это связано с тем, что он является преемником более старого проекта — IPython Notebook. Но другие языки тоже поддерживаются. Переключаться между ними можно с помощью магических команд.

Курс Аналітик даних.

Протягом 4 місяців ви вивчите повний набір інструментів для аналізу даних та отримаєте можливість працевлаштування в Laba Group.

Если вы работаете с Python, никакие дополнительные команды не нужны. Просто создайте новый документ (об этом поговорим подробнее чуть ниже) и пишите код.

def hello_world(): print("Hello world. ") hello_world()

Обратите внимание, на курсы по Python он наших друзей школы Mate Academy и Hillel. Освойте сложные вещи на простом и понятном языке.

Если нужен код на JavaScript, переключитесь на этот язык с помощью магической команды %%javascript .

Код в этой ячейке будет на JS:

%%javascript const text = "hello world" alert(text)

Собственная магическая команда есть и у скриптового языка bash — %%bash . Код после этой команды будет интерпретирован так, будто вы пишете его в окне терминала, а не в ноутбуке. Например:

%%bash mkdir Highload

В рабочем каталоге будет создана папка Highload. Проверить это можно стандартной командой ls :

%%bash ls

Для написания комментариев и добавления разметки используется язык Markdown. Он поддерживается по умолчанию, как и Python.

Синтаксис очень простой.

# Заголовок 1 уровня ## Заголовок 2 уровня ### Заголовок 3 уровня * [Пункт маркированного списка](#ссылка1) * [Следующий пункт маркированного списка](#ссылка2)

С помощью Markdown в Jupyter Notebook можно создавать интерактивные статьи и целые учебники. Подробнее о синтаксисе языка разметки вы можете узнать из этого репозитория на GitHub.

Курс Англійської.
Вивчай англійську прямо зі свого смартфона за допомоги смарт-платформи.

Jupyter также позволяет установить дополнительные ядра с языками. Можно добавить Java, Ruby, Perl, С#, С++, SQL, Kotlin, Scala и еще несколько десятков ЯП. Ссылки на ядра с примерами использования смотрите в этом репозитории на GitHub.

2. Преимущества

Работа в Jupyter Notebook очень похожа на написание заметок в документе:

  • Вы пишете код.
  • Вы пишете текст, поясняющий код.

И самое главное — все это можно изменить динамически. Вы переписываете фрагмент кода, снова его запускаете и видите другой результат.

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

Возможно, машинное обучение и Data Science — самые большие области применения Jupyter. Но он может быть невероятно полезным почти в каждой программе на Python, где цель состоит в том, чтобы запустить программу и увидеть результат без создания конечного продукта.

Несмотря на все преимущества, у разработчиков отношение к Jupyter Notebook неоднозначное. Например, его не рекомендуют использовать в качестве среды разработки. Причин несколько:

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

Курс Python.

Цю мову програмування використовують від базових концепцій до складних застосувань у сферах штучного інтелекту. Після проходження курсу гарантовано отримай роботу в ІТ.

3. Сферы применения

Основные области применения — нейросети, машинное обучение, анализ и визуализация данных, работа со статистикой. Это подтверждает исследование репозиториев GitHub. Например, в 2020 году больше всего звезд на Github получил проект Fastbook. Это введение в глубокое обучение с помощью библиотек Pytorch и FastAI, опубликованное с помощью Jupyter Notebook.

Самое большое количество звезд у справочника Python по Data Science. Полный текст также опубликован в формате Jupyter Notebooks.

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

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

4. Запуск на облаке

Самый простой способ запустить Jupyter Notebook — использовать онлайн-сервисы. Наиболее распространенное решение — облако Google Colaboratory или сокращенно Colab. Это бесплатный сервис, для работы с которым нужна только аккаунт Google.

Кроме Colab есть другие варианты — например, AWS от Amazon или Kaggle. Но они сложнее в освоении. Colab — самый простой, поэтому рекомендуем начать знакомство с него.

  1. Откройте Google Drive.
  2. В левом верхнем углу нажмите «Создать».
  3. Разверните меню «Еще».
  4. Нажмите «Подключить другие приложения».
  5. Выберите и установите приложение Colaboratory.

Чтобы создать первый Colab:

  1. Откройте Google Drive.
  2. В левом верхнем углу нажмите «Создать».
  3. Разверните меню «Еще».
  4. Выберите Google Colaboratory.

Откроется среда, в которой вы можете писать и выполнять код, а также добавлять текстовые пояснения. Google сразу выдает виртуальные ресурсы, которые будут использованы для вычислений в Colab. Но их слишком мало.

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

Jupyter

5. Локальный запуск

Вместо облачных вычислений можно использовать ресурсы вашего компьютера. Установить Jupyter Notebook локально можно разными способами. Самые популярные — вместе с набором приложений для обработки данных Anaconda или отдельно через pip .

С Anaconda нет никаких сложностей. Скачиваете установочный файл с официального сайта и ставите как любую другую программу. После установки в системе появится приложение Jupyter Notebook. При его запуске будет запускаться браузер, а внутри него — среда для работы с кодом.

Минус Anaconda в том, что вместе с Jupyter Notebook установится куча других приложений и библиотек, которые могут вам не понадобиться. Чтобы избежать этого, используйте другой способ — установку с помощью pip . Для этого на компьютер должен быть установлен Python.

Посмотрим порядок установки Jupyter Notebook на Windows.

  1. Установите последнюю версию Python на Windows На первом экране мастера установки отметьте опцию Add to Path, чтобы Python автоматически прописался в системных и пользовательских переменных пути.
  2. Запустите командную строку и проверьте версию Python командой python —version . Должна вернуться версия. Если появляется ошибка, проверьте правильность установки Python.
  3. Обновите менеджер пакетов pip: python -m pip install -upgrade pip .
  4. Установите Jupyter Notebook командой: python -m pip install notebook .

На Linux и macOS отличается только порядок установки Python. Команды для обновления pip и установки Jupyter Notebook — аналогичные.

Чтобы запустить Jupyter Notebook, выполните в командной строке:

jupyter notebook

Это откроет ноутбук в браузере, который используется в системе по умолчанию.

Запуск на удаленном сервере

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

Установка на удаленный сервер ничем не отличается от инсталляции на локальном компьютере. Отличия начинаются дальше. Если вы попробуете запустить ноутбук на удаленном сервере, то увидите сообщение об ошибке No web browser found: could not locate runnable browser.

Чтобы устранить эту проблему, нужно настроить туннель SSH, по которому вы будете подключаться к серверу и запускать Jupyter Notebook.

Чтобы создать туннель на Linux/macOS, запустите терминал и выполните команду вида:

ssh -L 8000:localhost:8888 username@your_server_ip

8888 — порт Jupyter Notebook по умолчанию. После запуска команды выше все, что вы запускаете на этом порту, будет появляться на порту 8000 локальной машины. Вместо 8000 можно указать другой порт, который вы предпочитаете. Желательно, чтобы он бы не менее 8000 , поскольку такие порты обычно не используются другими процессами.

Вместо username укажите имя пользователя на удаленном сервере без прав root , а после @ впишите IP-адрес сервера.

После успешного выполнения команды вы установите SSH-туннель с удаленным сервером, на котором установлен ноутбук.

Чтобы запустить его, выполните в терминале команду:

jupyter notebook

Чтобы начать работать с ноутбуками, запустите на локальной машине браузер и перейдите по адресу localhost:8000 . Вместо 8000 укажите тот порт, который вы использовали при установке SSH-туннеля.

На Windows для создания SSH-туннелей используют дополнительное ПО. Самое популярное приложение — PuTTY.

  1. Скачайте, установите и запустите PuTTY.
  2. На вкладке Session в поле Host name or IP address укажите имя или IP-адрес сервера с установленным Jupyter Notebook.
  3. Перейдите на вкладку Connection — SSH — Tunnels.
  4. В поле Source port введите порт локальной машины, через который хотите получать данные. Желательно 8000 или выше.
  5. В поле Destination укажите адрес назначения — localhost:8888 . 8888 — это адрес порта ноутбука по умолчанию.
  6. Нажмите Add. Новый порт должен отобразиться в поле Forwarded ports .

Чтобы запустить соединение, нажмите Open. После успешного подключения вызовите Jupyter Notebook на удаленном сервере командой:

jupyter notebook

Чтобы приступить к работе с ноутбуками, откройте на локальной машине любой браузер и перейдите по адресу localhost:8000 , где 8000 — это адрес порта локальной машины, который вы указали в настройках туннеля в PuTTY.

При запуске на удаленном сервере Jupyter Notebook сначала просит ввести токен или пароль. Найти его можно в терминале, в ответе после запуска ноутбука. Например:

localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675

После запуска Jupyter Notebook покажет все каталоги и файлы, которые хранятся в рабочей директории.

6. Как работать с Jupyter Notebook

Если вы уже попробовали Google Colab, то с запущенным локально Jupyter Notebook разберетесь очень быстро. Интерфейс простой, изучим его на нескольких примерах.

Jupyter

Работа начинается с создания нового ноутбука. Чтобы добавить его, нажмите New и выберите Python 3.

Две главные сущности ноутбука — cell (ячейка) и kernel (ядро). Ядро определяет, как будет выполняться код. По умолчанию используется ядро Python, но, как мы говорили выше, его можно изменить. Код и текст добавляется в ячейки.

Добавление текста

Начните с текстового описания проекта. Для этого измените тип первой ячейки: Cell > Cell Type > Markdown. Теперь в эту ячейку можно добавить текст, размеченный с помощью Markdown. Пусть это будет несколько заголовков:

# Highload ## Мой первый проект в Jupyter Notebook

Чтобы превратить заполненную ячейку в текст, нажмите сочетание клавиш Ctrl + Enter. Затем можно вернуться к ячейке, изменить ее содержимое и снова сохранить этим же сочетанием клавиш. Аналогичным образом добавляются другие текстовые описания. Везде используется синтаксис Markdown.

Добавление кода

Следующий шаг — добавление и выполнение фрагментов кода. В качестве примера импортируйте библиотеку numpy для добавления рандомайзера и затем выполните возведение числа в квадрат.

import numpy as np def square(x): return x * x

В этом фрагменте вы определили функцию возведения числа в квадрат. После запуска ячейки с этим кодом вы сможете ссылаться на np и функцию square — ноутбук уже их знает и видит.

Дальше можно выполнять вычисления.

x = np.random.randint(1, 10) y = square(x) print('%d squared is %d' % (x, y))

Jupyter

По умолчанию библиотеки импортируются так же, как в любой другой среде разработке на Python. Однако есть одно исключение.

Если вы хотите, чтобы визуализация Matplotlib отображалась прямо в ноутбуке, используйте конструкцию %matplotlib inline . Пример импорта:

import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline

После такого импорта можно добавлять данные и строить графики, которые будут отображаться прямо в ноутбуке.

Важно помнить, что Jupyter Notebook выполняет код сверху вниз. Поэтому если вносите изменения, обязательно проверяйте, что результат тоже корректируется. Если в ячейке сохраняется устаревший вывод, можно сбросить настройки ядра через меню Kernel:

  1. Restart — перезапуск ядра, очищаются все переменные, которые были определены.
  2. Restart & Clear Output — кроме перезапуска с очищением переменных удаляются все результаты в выводе под ячейками.
  3. Restart & Run All — перезапускает ядро и выполняет все ячейки сверху вниз.

Еще одна полезная функция — прерывание выполнения программы, когда она зависает, например, из-за ошибки в функции или слишком большого объема данных. Сделать это можно через меню Kernel > Interrupt.

Сохранение проекта

Перед сохранением можно изменить название проекта. По умолчанию это файл Untitled.ipynb .

За каждым таким файлом в формате ipynb скрывается текстовый документ, который описывает содержимое сохраненного ноутбука в формате JSON. Каждая ячейка преобразуется в строки. К ним добавляются метаданные. Их даже можно редактировать самостоятельно через меню ноутбука: Edit > Edit Notebook Metadata.

Горячие клавиши

Jupyter Notebook работает в двух режимах: edit mode (редактирование) и command mode (командный режим).

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

Одно сочетание горячих клавиш вы уже знаете — это Ctrl + Enter. Это сочетание заставляет ячейку выполнить код, который в ней записан. А вот список других клавиш и сочетаний, которые можно использовать в командном режиме:

  • Стрелки вверх и вниз помогают перемещаться между ячейками без помощи мыши.
  • Чтобы добавить ячейку выше текущей, нажмите клавишу A. Чтобы добавить ячейку ниже текущей, нажмите клавишу B.
  • Чтобы изменить тип ячейки на Markdown, нажмите клавишу M.
  • Чтобы изменить тип ячейки на код, нажмите клавишу Y.
  • Чтобы удалить ячейку, выделите и дважды нажмите на клавишу D (D+D).
  • Чтобы выбрать несколько ячеек, зажмите клавишу Shift и нажимайте стрелки вверх или вниз в зависимости от нужного направления.

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

Чтобы переключиться из командного режима в режим редактирования, выделите ячейку и нажмите Enter. Чтобы переключиться обратно в командный режим, нажмите Esc.

Расшаривание ноутбука

Поделиться результатами своей работы в Jupyter Notebook с другими пользователями можно разными способами. Самый простой — отправить файл с расширением *.ipynb . Получатель сможет открыть его в своем ноутбуке.

Можно сохранить содержимое ноутбука в формате HTML, Python и даже PDF. Эти варианты доступны в меню File > Download as.
Можно не отправлять файлы, а расшарить ноутбук онлайн. Популярные способы — GitHub Gist и nbviewer.

Заключение

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

Чтобы узнать больше о Jupyter Notebook, смотрите документацию на официальном сайте. Закрепить знания и разобраться с установкой среды вам поможет это качественное тематическое видео:

Jupyter Hub для высокопроизводительных вычислений

Назначение: только для запуска уже подготовленных расчетов на суперкомпьютере.
Запрещается использовать установленный на суперкомпьютере JUPYTER HUB для учебной работы и для процесса разработки!
Для учебных целей рекомендуется использовать бесплатный web-сервис Google Colab .

Запускать Jupyter Notebook можно только на вычислительных узлах, используя JupyterHub, доступный в личном кабинете пользователя суперкомпьютера. Ноутбуки, запущенные на головном логин-сервере (sms), будут принудительно завершены.

Запуск Jupyter Notebook

Для запуска Jupyter Notebook авторизуйтесь в Личном кабинете пользователя суперкомпьютера при помощи учетных данных от ЕЛК.
В меню слева выберите Jupyter Notebook, откроется страница:

Нажмите кнопку «Запустить ноутбук», укажите параметры для запуска задачи и кликните «Запуск»:

Задача будет поставлена в очередь для ожидания освобождения запрошенных ресурсов:
Чем меньше ресурсов требует ваша задача и чем меньше у нее временной лимит, тем быстрее она будет запущена планировщиком задач. Например, задачи на 1 ядро с ограничением 30 минут обычно запускаются сразу.
После запуска задачи на вычислительном узле кластера, откроется интерфейс Jupyter Notebook в оболочке JupyterLab:

Использование собственных окружений Anaconda в JupyterHub

Для того, чтобы запустить Jupyter Notebook через JupyterHub в собственном окружении Anaconda необходимо добавить в окружение пакет ipykernel. Для этого в своем окружении выполните команду conda install ipykernel

Обратите внимание: на вычислительных узлах нет доступа в Интернет. Все необходимые пакеты необходимо предварительно установить, подключившись к логин-серверу суперкомпьютера.

После установки ядра это окружение появится в списке на главной странице JupyterLab:

Переключить используемое окружение и ядро можно в уже запущенном ноутбуке, кликнув по названию ядра в правом верхнем углу или в меню Kernel -> Change Kernel.

Для использования других языков программирования установите соответствующее ядро: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

Конвертация Jupyter-ноутбуков для запуска в пакетном режиме

Код из Jupyter-ноутбуков можно удобно сконвертировать в py-файл для запуска на суперкомпьютере в пакетном режиме. В этом случае ресурсы на вычислительных узлах будут освобождены сразу по завершению расчётов. Пошаговое руководство по конвертации описано в отдельной инструкции.

Нашли опечатку ?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.

  • О ВЫШКЕ
  • Цифры и факты
  • Руководство и структура
  • Преподаватели и сотрудники
  • Корпуса и общежития
  • Закупки
  • Обращения граждан в НИУ ВШЭ
  • Фонд целевого капитала
  • Противодействие коррупции
  • Сведения о доходах, расходах, об имуществе и обязательствах имущественного характера
  • Сведения об образовательной организации
  • Людям с ограниченными возможностями здоровья
  • Единая платежная страница
  • Работа в Вышке
  • ОБРАЗОВАНИЕ
  • Лицей
  • Довузовская подготовка
  • Олимпиады
  • Прием в бакалавриат
  • Вышка+
  • Прием в магистратуру
  • Аспирантура
  • Дополнительное образование
  • Центр развития карьеры
  • Бизнес-инкубатор ВШЭ
  • НАУКА
  • Научные подразделения
  • Исследовательские проекты
  • Мониторинги
  • Диссертационные советы
  • Защиты диссертаций
  • Академическое развитие
  • Конкурсы и гранты
  • Научно-образовательный портал IQ.hse.ru
  • XXIV Ясинская (Апрельская) международная научная конференция по проблемам развития экономики и общества
  • РЕСУРСЫ
  • Библиотека
  • Издательский дом ВШЭ
  • Книжный магазин «БукВышка»
  • Типография
  • Медиацентр
  • Журналы ВШЭ
  • Публикации
  • Единый архив экономических и социологических данных
  • Полезные ссылки
  • Министерство науки и высшего образования РФ
  • Министерство просвещения РФ
  • Федеральный портал «Российское образование»
  • Массовые открытые онлайн-курсы

Шрифты HSE Sans и HSE Slab разработаны в Школе дизайна НИУ ВШЭ

Как повысить продуктивность работы в Jupyter notebook с помощью Nbextensions

Jupyter notebook — удобная среда для функционального программирования. В работе часто приходится писать код, который подходит под конкретную задачу (обработка информации, парсинг сайтов, process mining и т.д). Такие задачи проще выполнять с функциональным подходом, и среда Jupyter notebook идеально подходит для этого.

Однако использование notebook’ов можно сделать ещё более удобным и продуктивным с помощью Jupyter Notebook Extensions. Это расширения для notebook, которые позволяют добавить множество «фич» для удобства работы. Сегодня я хочу поделиться собственным топом таких расширений.

Чтобы установить расширения, необходимо запустить следующие команды в promt:

pip install jupyter_contrib_nbextensions jupyter contrib nbextension install

После этого при запуске Jupyter Notebook появится новая вкладка Nbextensions.

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

Например, расширение ExecuteTime. Пишется короткая справка о функционале, и можно развернуть параметры и readme.md.

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

Когда код пишется для разового использования, некритично не соблюдать различные стилистические правила «хорошего кодинга». Однако по опыту код просматривается и передается после его «разового» применения ещё много раз, поэтому для лучшей читаемости стоит приводить весь код в соответствие со стандартами, поэтому данный модуль крайне полезен.

Напишу простенький алгоритм, принимающий на вход 3 значения и выводящий True или False.

Специально сделала код плохо читаемым. Теперь применю новую кнопку, которая отформатирует весь код согласно стандартам pep8.

2. Table of Contents

На втором месте для меня является создание заголовков в коде для быстрого перемещения между ними. Больше всего данная функция удобна при создании учебных notebook или демонстрационных.

Например, вот оглавление из моих личных учебных notebook’ов:

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

Создам пару заголовков в тренировочном notebook.

Для этого создаю ячейку markdown и напишу заголовок, используя «#» для обозначения уровня заголовка. Чем больше #, тем больше уровень заголовка.

# Test pep8 — это первый уровень заголовка. При нажатии на кнопку списков, слева высвечивается оглавление. Оно также автоматически нумеруется.

3. Codefolding

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

При их нажатии блок скрывается/раскрывается. Например, блок if и else.

Данный функционал удобен при значительном объёме кода для лучшего понимания, также при разборе чужого кода или когда необходимо сконцентрироваться на определенной «ветке» алгоритма.

4. Execute Time

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

5. Table_beatifier

Инструмент для преобразования отображения таблиц. Очень удобен при работе с небольшими датасетами или отфильтрованными частями большого. На скриншотах ниже представлен обычный вариант numpy датасета (слева) и с использованием расширения table_beautifier (справа).

Главное различие – возможность фильтрации значений по столбцам.

6. Variable Inspector

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

В notebook при нажатии кнопки Variable Inspector появляется окно, которое можно перемещать, изменять размер и сворачивать.

В окне отображаются все переменные в памяти, их названия, типы, занимаемый размер и значение (для объектов различных модулей также поддерживается).

Таким образом, можно значительно упростить и оптимизировать процесс работы в Jupyter Notebook. Расширения будут полезны не только новичкам, но и опытным пользователям. Каждый сможет подобрать набор расширений под свои нужды.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *