Прокачка Jupyter Notebooks


Я открыл для себя Jupyter Notebooks несколько месяцев назад, когда всерьёз занялся машинным обучением. То, как всё работает в браузере, сначала откровенно восхитило, но розовые очки быстро спали: стало понятно, что в интерфейсе не хватает базовых полезных функций. Тогда я и решил освоить фишки работы с Jupyter Notebooks.

Если вы будете следовать инструкции, приведённой ниже, в вашем Jupyter Notebook появятся следующие функции (к слову, это не предел):

  • Возможность налету переключаться между несколькими окружениями Conda без перезапуска Jupyter Notebook.
  • Создание Table of Contents (содержания) в один клик (вы это оцените!).
  • Невероятно полезный всплывающий Scratch Pad (блокнот, моё любимое!), где вы сможете протестировать код и поэкспериментировать, не меняя ничего в основном теле кода.
  • Code Folding (Сворачивание блоков кода). Не понимаю, почему эта функция не была введена раньше.
  • Code Cell hiding (Скрыть код), важная функция, если вы представляете историю данных через визуализацию.. людям куда интереснее графики и диаграммы, а не сам код!
  • Очень крутой Variable Inspector (Инспектор переменных).
  • Spellchecker (Проверка орфографии) для маркдаун-ячеек.
  • Zen Mode, которыйпрячет все лишние отвлекающие опции.
  • Меню Code Snippets (Фрагменты кода), позволяющее налету добавлять Python-конструкции, например, List comprehensions (Генератор списков).
  • И, наконец, лучшая из фич —  спокойная красивая полуночная тема для ваших глаз!
  • Пора прокачаться!

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

    Чтобы установить тёмную тему, следуйте следующей инструкции:

    # Выключите сервер Jupyter Notebooks и выйдите из него # Убедитесь, что вы находитесь в базовой среде conda conda activate base # установите jupyterthemes pip install jupyterthemes # обновите до последней версии pip install --upgrade jupyterthemes

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

    # Включите Dark Modejt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T

    Теперь давайте посмотрим, сможем ли мы добавить созданные в Anaconda кастомные окружения в качестве ядер в Jupyter Notebooks. Это обеспечит быстрое переключение через меню Kernel без перезапуска среды.

    Предположим, вы создали два кастомных окружения в Anaconda: my_NLP и gym. Чтобы добавить их в Jupyter Notebooks, нужно:

    # Остановите сервер Jupyter Notebooks и выйдите из него # Активируйте окружение через терминал conda activate my_NLP # Установите IPython Kernel pip install ipykernel # Привяжите кастомное окружение к Jupyter python -m ipykernel install --user --name=my_NLP # Повторите шаги выше для второго окружения conda activate gym pip install ipykernel python -m ipykernel install --user --name=gym

    Теперь откройте Jupyter Notebooks, перейдите в меню Change Kernel и… Бум! Перед вами список ядер, между которыми можно переключаться в один клик.

    Вот где появляются новые добавленные ядра. Обратите внимание на приятную темно-синюю тему.

    Для настройки остальных фич, нужно будет установить nbextensions для Jupyter Notebooks. Для установки следуйте инструкции:

    # Остановите сервер Jupyter Notebooks и выйдите из него # Убедитесь, что вы находитесь в базовой среде conda activate base # Установите nbextensions pip install jupyter_contrib_nbextensions # Установите необходимые JS и CSS файлы jupyter contrib nbextension install --system

    Запустите сервер Jupyter Notebooks. Четвертая слева вкладка — Nbextensions. Кликните по ней и увидите полный список функций, которые можно подключить.

    Nbextensions

    Как вы видите, список обширный, и с первого взгляда в нём не просто разобраться. Кроме того, не все функции одинаково полезны. Вот те, которыми пользуюсь я:

  • Table of Contents — создает содержание для всего блокнота в один клик, сразу с гиперссылками на разные секции кода.
  • Scratchpad — мне кажется, это лучшее расширение. Выделяет пространство для экспериментов с частью кода, позволяя абстрагироваться от остального и оставить код в основном блокноте неизменным.
  • Codefolding — позволяет сворачивать блоки кода.
  • Hide Input All — прячет весь массив кода, оставляя на виду выходные данные и метки. Полезно, если вы пытаетесь объяснить принцип работы программы человеку, который не разбирается в технических деталях.
  • Variable Inspector — сократит время отладки, функция похожа на инспектор переменных в Spyder IDE.
  • Spellchecker — проверка орфографии в маркдаун-ячейках.
  • Zen Mode.
  • Snippets Menu — крутые коллекции часто используемых фрагментов кода от list comprehensions до pandas, включая всё, что между ними. Что может быть лучше? Вы можете добавлять и собственные фрагменты.
  • Выше приведен список функций, которыми пользуюсь я, но не отказывайте себе в том, чтобы опробовать остальные. Из интересных функций, которые я не упомянул: ScrollDown, table_beautifier и Hinterland.

    Расширения Snippets и Table of Contents в действии Scratchpad Примечания:
  • Если у вас не установлен Anaconda, попросту игнорируйте команды, включающие в себя «conda». Вы можете пропустить пункты, касающиеся добавления окружений Anaconda в Jupyter Notebooks.
  • Чтобы установить расширения вам потребуются права администратора.
  • Если вам не понравилось работать с тёмной темой, введите в терминале команду jt –r , чтобы вернуть обратно светлую тему. Если ничего не изменилось, перезапустите программу и почистите кэш браузера.

  • Перевод статьи Pranjal Chaubey: Supercharging Jupyter Notebooks


    Поделиться статьей:


    Вернуться к статьям

    Комментарии

      Ничего не найдено.