Bayesian Noise
61 subscribers
57 photos
234 links
Канал @nesterione. Посты про ИТ, машинное обучение, рациональность, иногда просто заметки и наблюдения.

з.ы. картинка не картинка...
Download Telegram
Jupyter удобный инструмент для ML экспериментов, это уже давно стандарт индустрии. Чтобы получать ещё больше выгоды от использования ноутбуков, следует изучить некоторые возможности. Не плохая подборка важных возможностей.

https://www.dataquest.io/blog/advanced-jupyter-notebooks-tutorial/

Кратко о важном:

1. Вы наверное знаете, чтобы запустить любую bash команду, нужно поставить ! Перед названием
!echo Hello
иногда полезно передать переменную из python и сделать это просто
my_var = 'Hello'
!echo ${my_var}
2. В Jupyter есть специальные "магические" функции, полный список можно глянуть выполнив %lsmagic

Полезные функции, которыми я регулярно пользуюсь:

%matplotlib inline - выводить графики напрямую в ноутбук

%autosave - включить автосохранение

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


%load_ext autoreload
%autoreload 2


Ну и естественно функция %time поможет вам легко измерить время выполнения ячейки. Если вы хотите провести бенчмарк, можно использовать %timeit она запустит функцию несколько раз, найдёт среднее время выполнения.

3. Иногда полезно переключить язык для ячейки, вы можете выполнить %%HTML и написать код на html. Бывают случаи, когда полезно и js запустить. Можно установить дополнительно расширения, и напрямую писать SQL запросы (%sql), бывает очень удобно

4. В целом, плагины очень полезны, их много, и вы можете значительно ускорить свою работу https://github.com/ipython/ipython/wiki/Extensions-Index

Я хочу отметить, что вы можете создавать элементы управления сразу в jupyter, это бесполезно для самих исследований, но очень удобно, когда вы хотите опубликовать код, и подготовить красивое демо https://ipywidgets.readthedocs.io/en/stable/index.html

5. В ноутбуках можно настраивать стили на css, почему бы и нет? Ну и если вам нужны красивые графики, то обязательно взгляните на seaborn.

6. Запускать код и модули: %load и %run

Получить что-то с переменных среды можно через %env

report_date = %env REPORT_DATE

7. Нужно отлаживать код прямо в ноутбуке? Пригодятся команды %debug и %pdb


8. И заключительная возможность, это запуск ноутбуков с консоли. Можно сделать стандартным способом https://nbconvert.readthedocs.io/en/latest/execute_api.html, а если возможностей не хватает, и нужно добавить разные параметры, то смотрите на https://github.com/nteract/papermill

Зачем запускать? Ну например, вы хотите запускать эксперименты через CI.

#jupyter #notebook