Как да оптимизирате вашия Jupyter Notebook

Въведение

Днес Jupyter Notebook е може би най-използваната среда за решаване на задачи за машинно обучение / наука за данни в Python.

Jupyter Notebook е приложение клиент-сървър, използвано за стартиране на документи за преносими компютри в браузъра. Документите за преносими компютри са документи, които могат да съдържат както код, така и елементи с богат текст, като абзаци, уравнения и т.н.

В тази статия ще ви преведа през някои прости трикове за това как да подобрите своя опит с Jupyter Notebook. Ще започнем от полезни преки пътища и в крайна сметка ще добавим теми, автоматично генерирано съдържание и много други.

Преки пътища

Преките пътища могат да бъдат наистина полезни за ускоряване на писането на вашия код. Сега ще ви преведа през някои от преките пътища, които намерих за най-полезни за използване в Jupyter.

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

Някои преки пътища, които са често срещани и в двата режима, са:

  • Ctrl + Enter : за да стартирате всички избрани клетки
  • Shift + Enter : стартирайте текущата клетка и преместете следващата
  • Ctrl + s : запазване на тетрадка

За да влезем в командния режим на Jupyter, трябва да натиснем Esc и след това някоя от следните команди:

  • З : покажете всички преки пътища, налични в Jupyter Notebook
  • Shift + стрелка нагоре / надолу : за избиране на множество клетки на тетрадка едновременно (натискането на enter след избирането на множество клетки ще накара всички да стартират!)
  • A : поставете нова клетка по-горе
  • Б : поставете нова клетка отдолу
  • X : изрежете избраните клетки
  • Z : отменете изтриването на клетка
  • Y : променете типа клетка на Code
  • M : променете типа клетка на Markdown
  • Интервал : превъртете бележника надолу
  • Shift + интервал : превъртете бележника нагоре

За да влезем вместо това в режим на редактиране на Jupyter, трябва да натиснем Enter и последователно някоя от следните команди:

  • Раздел : предложения за състезания по кодове
  • Ctrl +] : код на отстъп
  • Ctrl + [ : отделен код
  • Ctrl + z : отмяна
  • Ctrl + y : повторно
  • Ctrl + a : изберете всички
  • Ctrl + Home : преместете курсора до начало на клетката
  • Ctrl + End : преместете курсора до края на клетката
  • Ctrl + Наляво : преместете курсора с една дума наляво
  • Ctrl + Надясно : преместете курсора с една дума надясно

Командни команди и Инсталиране на пакети

Не много потребители знаят за това, но е възможно да изпълнявате команди на черупки в клетка на тетрадка Jupyter чрез добавяне на удивителен знак в началото на клетката. Например, стартирането на клетка с ! Ls ще върне всички елементи в текущата работна директория. Стартирането на клетка с ! Pwd вместо това ще отпечата текущата пътека към файла на директорията.

Същият този трик може да се приложи и за инсталиране на пакети на Python в тетрадката на Jupyter.

!pip install numpy

Теми на Юпитер

Ако се интересувате от промяна на начина, по който изглежда вашият преносим компютър Jupyter, е възможно да инсталирате пакет с колекция от различни теми. Темата за Jupyter по подразбиране изглежда като тази на Фигура 1. На Фигура 2 ще видите как ще можем да персонализираме нейния аспект.

Можем да инсталираме нашия пакет директно в бележника, като използваме трика, който ви показах в предишния раздел:

!pip install jupyterthemes

Можем да изпълним следната команда, за да изброим имената на всички налични теми:

!jt -l # Cell output: # Available Themes: # chesterish # grade3 # gruvboxd # gruvboxl # monokai # oceans16 # onedork # solarizedd # solarizedl

И накрая, можем да изберем тема, като използваме следната команда (в този пример реших да използвам темата solarized1):

!jt -t solarizedl

След като изпълним тази команда и обновим страницата, нашият бележник трябва да изглежда като този на фигура 2.

В случай, че искате по всяко време да се върнете към оригиналната тема на тетрадката на Jupyter, можете просто да изпълните следната команда и да опресните страницата си.

!jt -r

Разширения за тетрадка Jupyter

Разширенията за преносими компютри могат да се използват за подобряване на потребителското изживяване и предлагат голямо разнообразие от техники за персонализация.

В този пример ще използвам библиотеката nbextensions, за да инсталирам всички необходими приспособления (този път ви предлагам първо да инсталирате пакетите през терминал и след това да отворите бележника Jupyter). Тази библиотека използва различни модели на Javascript, за да обогати предната част на бележника.

! pip install jupyter_contrib_nbextensions ! jupyter contrib nbextension install --system

След като nbextensions бъде инсталиран, ще забележите, че има допълнителен раздел на началната страница на вашия бележник Jupyter (Фигура 3).

Като кликнете върху раздела Nbextensions, ще ни бъде предоставен списък с наличните джаджи. В моя случай реших да активирам показаните на Фигура 4.

Някои от любимите ми разширения са:

  1. Съдържание

Auto-generate a table of contents from markdown headings (Figure 5).

2. Snippets

Sample codes to load common libraries and create sample plots which you can use as a starting point for your data analysis (Figure 6).

3. Hinterland

Code autocompletion for Jupyter Notebooks (Figure 7).

The nbextensions library provides many other extensions apart for these three, so I encourage you to experiment and test any other which can be of interest for you!

Markdown Options

By default, the last output in a Jupyter Notebook cell is the only one that gets printed. If instead we want to automatically print all the commands without having to use print(), we can add the following lines of code at the beginning of the notebook.

from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"

Additionally, it is possible to write LaTex in a Markdown cell by enclosing the text between dollar signs ($).

Notebook Slides

It is possible to create a slideshow presentation of a Jupyter Notebook by going to View -> Cell Toolbar -> Slideshow and then selecting the slides configuration for each cell in the notebook.

Finally, by going to the terminal and typing the following commands the slideshow will be created.

pip install jupyter_contrib_nbextensions # and successively: jupyter nbconvert my_notebook_name.ipynb --to slides --post serve

Magic

Magics are commands which can be used to perform specific commands. Some examples are: inline plotting, printing the execution time of a cell, printing the memory consumption of running a cell, and so on.

Magic commands which start with just one % apply their functionality just for one single line of a cell (where the command is placed). Magic commands which instead start with two %% are applied to the whole cell.

It is possible to print out all the available magic commands by using the following command:

%lsmagic

Contact info

If you want to keep updated with my latest articles and projects follow me and subscribe to my mailing list. These are some of my contact details:

  • Linkedin
  • Personal Blog
  • Personal Website
  • Medium Profile
  • GitHub
  • Kaggle

Cover photo from this article.