Jupyter удобный инструмент для ML экспериментов, это уже давно стандарт индустрии. Чтобы получать ещё больше выгоды от использования ноутбуков, следует изучить некоторые возможности. Не плохая подборка важных возможностей.
https://www.dataquest.io/blog/advanced-jupyter-notebooks-tutorial/
Кратко о важном:
1. Вы наверное знаете, чтобы запустить любую bash команду, нужно поставить
Расширение позволит автоматически подтягивать изменения в коде. Если у вас есть файлы на диске в которых пишете python модули, и иногда вы вносите изменения, чтобы не перезапускать каждый раз kernel, воспользуйтесь следующей опцией и код будет обновляться автоматически
3. Иногда полезно переключить язык для ячейки, вы можете выполнить
4. В целом, плагины очень полезны, их много, и вы можете значительно ускорить свою работу https://github.com/ipython/ipython/wiki/Extensions-Index
Я хочу отметить, что вы можете создавать элементы управления сразу в jupyter, это бесполезно для самих исследований, но очень удобно, когда вы хотите опубликовать код, и подготовить красивое демо https://ipywidgets.readthedocs.io/en/stable/index.html
5. В ноутбуках можно настраивать стили на css, почему бы и нет? Ну и если вам нужны красивые графики, то обязательно взгляните на seaborn.
6. Запускать код и модули:
Зачем запускать? Ну например, вы хотите запускать эксперименты через CI.
#jupyter #notebook
https://www.dataquest.io/blog/advanced-jupyter-notebooks-tutorial/
Кратко о важном:
1. Вы наверное знаете, чтобы запустить любую bash команду, нужно поставить
!
Перед названием!echo Helloиногда полезно передать переменную из python и сделать это просто
my_var = 'Hello'2. В Jupyter есть специальные "магические" функции, полный список можно глянуть выполнив
!echo ${my_var}
%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_DATE7. Нужно отлаживать код прямо в ноутбуке? Пригодятся команды
%debug
и %pdb
8. И заключительная возможность, это запуск ноутбуков с консоли. Можно сделать стандартным способом https://nbconvert.readthedocs.io/en/latest/execute_api.html, а если возможностей не хватает, и нужно добавить разные параметры, то смотрите на https://github.com/nteract/papermillЗачем запускать? Ну например, вы хотите запускать эксперименты через CI.
#jupyter #notebook
Dataquest
Advanced Jupyter Notebook Tutorial – Dataquest
If you're doing data science in Python, notebooks are a powerful tool. This free Jupyter Notebooks tutorial has will help you get the best out of Jupyter.