Представьте свои проекты в области науки о данных с помощью слайдов Jupyter Notebook Slides!

Искусство перехода от кода к общению.

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

Проблемы с общими инструментами презентации

Microsoft Powerpoint, Google Slides, Prezi - одни из наиболее часто используемых инструментов для создания презентаций. Но когда дело доходит до создания технических презентаций с помощью кода, эти инструменты часто не справляются. Создание снимков кода и вставка изображений на слайды неэффективны, потому что шрифты часто становятся размытыми. Также сложно легко настроить слайды при использовании Power-Point или Google Slides. Часто приходится изменять размер изображений, и общий вид слайдов становится больше корпоративным, чем техническим.

Преимущества Jupyter Slides

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

Что касается моих личных проектов, я обнаружил, что слайды лучше подходят для общения с широкой аудиторией, чем при непосредственном совместном использовании блокнотов jupyter, потому что многие люди не хотят сразу смотреть на стену кода, если только они не являются техническими.

Я в основном работаю на Python и большой поклонник Jupyter Notebooks. Поэтому я был очень счастлив узнать, что мы можем напрямую конвертировать наши записные книжки в слайд-шоу HTML с помощью фреймворка HTML-презентации detect.js с помощью команд nbconvert.

Выходной слайд будет выглядеть так:

Реализация

Сделайте блокнот

Первый шаг - создать блокнот, который будет использоваться для создания слайдов. При необходимости добавьте свои ресурсы, заметки, визуализации, код формата. Исправьте относительный путь, URL, цитату, диаграммы и т. Д. Это ноутбук, который здесь использовался.

Отформатируйте ячейки

Затем нам нужно отформатировать ячейки для слайд-шоу. Для этого перейдите в Просмотр → Панель инструментов ячейки → Слайд-шоу. Это создает светло-серую полосу над каждой ячейкой для настройки типа слайда. Помните, что в Jupyter Notebook ячейки - это единицы, содержащие код и уценку. Для каждой ячейки есть 5 вариантов. Слайд, дополнительный слайд, фрагмент, пропуск и заметки.

  • Слайд: каждая ячейка отображается на отдельном слайде. Подходит для размещения заголовков, подзаголовков, изображений и текстовых заметок. Используйте стрелку вправо для навигации.
  • Дополнительный слайд: продолжение предыдущего слайда. Используйте стрелку вниз, чтобы перейти к вложенному слайду из слайда.
  • Фрагмент. Фрагмент интересен тем, что он представляет несколько ячеек на одном слайде одну за другой.
  • Пропустить / Примечания. Пропустить выделенные ячейки. Ячейки, которые не используются для презентации, также можно пометить как примечания.

Обслуживание локально и итерация

После этого перейдите в каталог записной книжки и введите команду nbconvert, чтобы преобразовать записную книжку в слайды, которые откроют слайды в вашем браузере.

Чтобы показывать слайды в формате по умолчанию, введите имя записной книжки вместо *.ipynb

jupyter nbconvert *.ipynb --to slides --post serve

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

jupyter nbconvert dino_viz.ipynb --to slides --post serve 
--SlidesExporter.reveal_theme=serif 
--SlidesExporter.reveal_scroll=True 
--SlidesExporter.reveal_transition=none

Краткий обзор используемой конфигурации:

  • SlidesExporter.reveal_theme: устанавливает тему с засечками. Также есть тема по умолчанию, тема неба и многие другие.
  • SlidesExporter.reveal_scroll: устанавливает для параметра прокрутки значение True. Для больших изображений или длинных ячеек полезны опции прокрутки. Это также полезно для визуализации фреймов данных.
  • SlidesExporter.reveal_transition: устанавливает для перехода значение «Нет». Я не люблю использовать какие-либо эффекты перехода, потому что их добавление создает некоторую дрожь на экране, что, по моему мнению, не подходит для кода. Возможные варианты: нет, исчезать, скользить, выпуклый, вогнутый и масштабировать.

Полный список параметров конфигурации можно найти здесь:



Слайды будут обслуживаться в порту 8000. Однако не останавливайтесь на достигнутом. Поэкспериментируйте с несколькими макетами и фрагментами (особенно), чтобы увидеть, как они лучше всего подходят для вашего собственного проекта. В хардкорном проекте, основанном на машинном обучении, может быть лучше придерживаться темы по умолчанию, в то время как проекту, основанному на журналистике данных, может потребоваться опробовать все эффекты перехода. Также может помочь добавление пользовательских файлов .css.

Хостинг на страницах Github

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

  • Сначала клонируйте репозиторий discover.js в свой каталог, содержащий записную книжку, чтобы добавить его в качестве подмодуля.
git submodule add https://github.com/hakimel/reveal.js.git reveal.js
  • Переименуйте записную книжку в index.ipynb, потому что команда nbconvert создает html-файл с именем записной книжки, и мы хотим создать файл index.html для нашего сайта для размещения на страницах github.
  • Запустите сценарий в терминале, чтобы сгенерировать файл index.slides.html.
jupyter nbconvert --to slides index.ipynb --reveal-prefix=reveal.js 
  • Поскольку я добавил свои параметры конфигурации, я использовал следующее:
jupyter nbconvert --to slides index.ipynb --reveal-prefix=reveal.js --SlidesExporter.reveal_theme=serif 
--SlidesExporter.reveal_scroll=True 
--SlidesExporter.reveal_transition=none
  • Отправьте их на github в новом репо и сделайте этот репозиторий сайтом страниц github. Самый простой способ сделать это - просто зайти в настройки → раздел страниц Github → выбрать мастер в качестве источника → сохранить.

  • Ваш сайт будет доступен по адресу username.github.io/reponame/. В этом случае слайды доступны здесь. Вы можете просто щелкнуть ссылку ваш сайт здесь опубликован в настройках.
  • Если вместо клонирования вы создали разветвленный файл detect.js, обратитесь к сообщению Krisnamurthy и следуйте процедуре.

ПРИМЕЧАНИЕ. Я работаю в Windows, поэтому команды терминала могут немного отличаться в зависимости от вашей ОС. В этом случае обратитесь к stackoverflow или другим ресурсам, потому что я не смогу вам помочь.

И спасибо Мэтью Спеку за то, что помог мне впервые начать работу со слайдами jupyter с его потрясающей статьей.

Использованная литература :