Особенности Jupyter Notebook, о которых вы (может быть) не слышали
Jupyter Notebook – это крайне удобный инструмент для создания красивых аналитических отчетов, так как он позволяет хранить вместе код, изображения, комментарии, формулы и графики:
Ниже мы расскажем о некоторых фишках, которые делают Jupyter очень крутым. О них можно прочитать и в других местах, но если специально не задаваться этим вопросом, то никогда и не прочитаешь.
Jupyter поддерживает множество языков программирования и может быть легко запущен на любом сервере, необходим только доступ по ssh или http. К тому же это свободное ПО.
Основы
Список хоткеев вы найдете в Help > Keyboard Shortcuts (список периодически дополняется, так что не стесняйтесь заглядывать туда снова).
Отсюда можно получить представление о взаимодействии с блокнотом (notebook). Если вы будете постоянно работать c Jupyter, большинство комбинаций вы быстро выучите.
Экспорт блокнота
Простейший способ — сохранить блокнот в формате IPython Notebook (.ipynb), но так как их используют не все, есть и другие варианты:
Построение графиков
Есть несколько вариантов построения графиков:
Magic-команды
Магические команды (magics) превращают обычный python в магический python. Magic-команды — это ключ к могуществу IPython’а.
Можно управлять переменными среды для вашего блокнота без перезапуска Jupyter-сервера. Некоторые библиотеки (такие, как theano) используют переменные среды, чтобы контролировать поведение, и %env — самый удобный способ.
Выполнение shell-команд
В Notebook можно вызвать любую shell-команду. Это особенно удобно для управления виртуальной средой.
Подавление вывода последней строки
Иногда вывод не нужен, и в этом случае можно или использовать команду pass с новой строки, или поставить точку запятой в конце строки:
вызовет следующее всплывающее окно:
Используйте %run для выполнения кода на Python
Но эта команда может выполнять и другие блокноты из Jupyter! Иногда это очень полезно.
Обратите внимание, что %run — это не то же, что импорт python-модуля.
Загрузит код напрямую в ячейку. Можно выбрать файл локально или из сети.
Если раскомментировать и выполнить код ниже, содержание ячейки заменится на содержание файла.
%store — ленивая передача данных между блокнотами
%who для анализа переменных глобального пространства имен
Тайминг
Если вы хотите замерить время выполнения программы или найти узкое место в коде, на помощь придет IPython.
Профилирование: %prun, %lprun, %mprun
%lprun позволяет профилировать с точностью до строк кода, но, кажется, в последнем релизе Python он не работает, так что в этот раз обойдемся без магии:
Дебаг с помощью %debug
У Jupyter есть собственный интерфейс для ipdb, что позволяет зайти внутрь функции и посмотреть, что в ней происходит.
Это не PyCharm — потребуется время, чтобы освоить, но при необходимости дебага на сервере это может быть единственным вариантом (кроме pdb через терминал).
Немного более простой способ — команда %pdb, которая активирует дебаггер, когда выбрасывается исключение:
Запись формул в LateX
Маркдаун ячейки могут отрисовывать формулы LateX с помощью MathJax.
Маркдаун — важная часть блокнотов, так что не забывайте использовать его выразительные возможности!
Использование разных языков внутри одного блокнота
Если вы соскучились по другим языкам программирования, можете использовать их в Jupyter Notebook:
Анализ Big Data
Существует несколько решений, чтобы запрашивать/обрабатывать большие объемы данных:
Ваши коллеги могут экспериментировать с вашим кодом, ничего не устанавливая
Такие сервисы, как mybinder, предоставляют доступ к Jupiter Notebook со всеми установленными библиотеками, так что пользователь может с полчаса поиграться с вашим кодом, имея под рукой только браузер.
Вы также можете установить вашу собственную системы с помощью jupyterhub, что очень удобно, если вы проводите мини-курс или мастер-класс и вам некогда думать о машинах для студентов.
Написание функций на других языках
Иногда скорости NumPy бывает недостаточно, и мне необходимо написать немного быстрого кода. В принципе, можно собрать нужные функции в динамические библиотеки, а затем написать обертку на Python…
Но гораздо лучше, когда скучная часть работы сделана за нас, правда?
Ведь можно написать нужные функции на Cython или Fortran и использовать их напрямую из кода на Python.
Для начала нужно установить модули
Лично я предпочитаю Fortran, на котором, я считаю, удобно писать функции для обработки большого объема численных данных. Подробнее о его использовании можно почитать здесь.
Должен заметить, что есть и другие способы ускорить ваш код на Python. Примеры можно найти в моем блокноте.
Множественный курсор
С недавнего времени Jupyter поддерживает множественный курсор, такой, как в Sublime или IntelliJ!
Источник: swanintelligence.com/multi-cursor-in-jupyter.html
Расширения Jupyter-contrib
устанавливаются с помощью
Это целое семейство различных расширений, включая, например, jupyter spell-checker и code-formatter, которых по умолчанию в Jupyter нет.
RISE: презентации в Notebook
Расширение, написанное Damian Avila, позволяет демонстрировать блокноты как презентации. Пример такой презентации: bollwyvl.github.io/live_reveal/#/7
Это может пригодиться, если вы обучаете использованию какой-либо библиотеки.
Система вывода Jupyter
Блокноты отображаются в HTML, и вывод ячейки тоже может быть в формате HTML, так что вы можете выводить все, что душе угодно: видео, аудио, изображения.
В этом примере я просматриваю содержимое директории с картинками в моем репозитории и отображаю первые пять из них.
Я мог бы получить тот же список bash-командой,
потому что magic-команды и bash-вызовы возвращают переменные Python:
Повторное подключение к ядру
Давным давно, если вы запускали какой-нибудь долгий процесс и в какой-то момент подключение к серверу IPython прерывалось, вы полностью теряли возможность отслеживать процесс вычислений (если только вы не записывали эти данные в файл). Приходилось или прерывать работу ядра с риском потерять некоторые результаты, или ждать окончания процесса, не имея представления о том, что в данный момент происходит.
Теперь опция Reconnect to kernel позволяет заново подключиться к работающему ядру, не прерывая вычислений, и увидеть последний вывод (хотя какая-то часть вывода все же будет потеряна).
Пишите ваши посты в Notebook
такие, как этот. Используйте nbconvert, чтобы экспортировать в HTML.
Обзор iJoy Jupiter Pod Kit
Jupiter Pod Mod by iJoy
Можно уверенно сказать, что под-моды медленно, но уверенно завоевывают вейп-рынок, постепенно вытесняя привычные многим вейперам бокс-моды, баки и дрипки. Естественно. Далеко не каждый вейпер готов распрощаться с любимым Drag и Dead Rabbit, но многие уверенно ставят их на полки и покупают компактные, практичные и простые в использовании под-моды. Всем известная компания iJoy достаточно долгое время предлагала вейперам только POD-системы, но наступил и их черед выпустить свой вариант под-мода, поэтому свет увидел Jupiter Pod Kit. Этот девайс сложно назвать абсолютно инновационным, так как на рынке уже представлено немало девайсов такого формата, но при этом iJoy Jupiter Pod Kit однозначно порадует вейперов своей функциональностью, производительностью и универсальностью.
Общие сведения
iJoy Jupiter Pod Kit – под-мод средних размеров, работающий от одного сменного аккумулятора 18650, оснащенный производительным чипсетом Univ и рассчитанный на использование испарителей серии J и RBA-базы. Форм-фактор, в котором выполнен новый девайс, не является новинкой, но при это он обладает отличной эргономикой. Благодаря чипсету Univ можно получить мощность до 70 Ватт и работу девайса в режиме вариватта. Два типа испарителей на сетке позволят получить отличный вкус, а возможность установки обслуживаемой базы и адаптера под 510-й коннектор делает девайс универсальным. Купить iJoy Jupiter Pod Kit можно в восьми исполнениях – черном, красном, синем, зеленом, gun metal, оранжевом, фиолетовом и зелено-золотом.
Комплектация
В очередной раз возникает вопрос к производителям – почему при анонсированной обслуживаемой базе сразу не укомплектовать девайс? Новый под-мод от iJoy – не исключение, так как все вроде есть, а RBA-базы в комплекте нет, но в любом случае вейпера ждет:
Батарейный блок Jupiter Mod
Сегмент под-модов постоянно пополняется, и сейчас сложно найти производителя, который не выпустил хотя бы один такой девайс. Компания iJoy фактически одна из последних презентовала свой вариант таких устройств. Jupiter Pod Kit хоть напоминает девайсы других производителей, но имеет несколько особенностей, благодаря которым он однозначно понравится многим вейперам.
Форм-фактор, в котором выполнен iJoy Jupiter Pod Kit, знаком многим вейперам – этакий брусок со скругленными гранями, причем он достаточно компактный – 117*30*25,5 мм. Корпус оформлен достаточно оригинально за счет использования различных материалов – цинкового сплава, алюминия и пластика, на котором нанесен рисунок, напоминающий кожу змеи.
Максимальная мощность iJoy Jupiter Pod Kit – 70 Ватт, которая обеспечивается традиционным аккумулятором 18650, устанавливаемым снизу при помощи завинчивающейся крышки с удобным ребром посередине. Зарядить аккумулятор можно при помощи разъема micro-USB, расположенного пол дисплеем, током 1,5А.
Немаловажная особенность под-мода в том, что он работает под управление чипсета Univ (компания iJoy часто использует такие чипсеты в своих устройствах), благодаря которому стабильная работа и производительность обеспечены. Работает iJoy Jupiter Pod Kit в режиме вариватта, но это вряд ли расстроит вейперов.
Для того чтобы устройством было удобно пользоваться, оно оснащено небольшим цветным дисплеем, на котором вейпер найдет все необходимые данные о работе – уровень заряда АКБ, мощность, сопротивление спирали, напряжение, время и количество затяжек.
Картридж Jupiter Pod
Вполне логично, что в iJoy Jupiter Pod Kit используется съемный картридж на сменных испарителях, который удерживается в батарейном блоке при помощи магнитов. Производитель анонсировал, что картридж можно заменить на специальный адаптер под 510-й коннектор, благодаря чему вейпер получит неплохой простой бокс-мод на один аккумулятор.
Установка испарителей очень удобная – они устанавливаются в специальную базу, при помощи которой испаритель удерживается в картридже.
Заправка картриджа предельно простая и понятная даже новичку. Картридж вынимается из батарейного блока, переворачивается, открывается силиконовая заглушка и в достаточно большое отверстие заливается 5 мл жидкости.
Выводы и впечатления
iJoy Jupiter Pod Kit – это очередной под-мод на рынке, который хоть и не отличается чем-то особенным, но станет отличным вариантом для многих вейперов. Стабильность работы чипсета, большой картридж, универсальность – все это делает его достойным девайсом, который сможет уверенно конкурировать с другими продуктами именитых компаний.
















