Фаза 00 · урок 05

Блокноты Jupyter

Цель урока: Блокноты Jupyter используются почти в каждой статье об AI, учебном материале и соревновании Kaggle. Они позволяют выполнять код по частям, сразу видеть результаты, совмещать код с пояснениями и быстро повторять эксперименты. Пытаться…

Текущий релиз AlexBred.com: первые 100 уроков русскоязычной программы.

Курс
AI Engineering from Scratch
Фаза
Настройка и инструменты
Чтение
9 мин.
Проверено
Содержание урока
  1. Цели обучения
  2. Проблема
  3. Концепция
  4. Собираем сами
  5. Шаг 1. Выберите интерфейс
  6. Шаг 2. Важные сочетания клавиш
  7. Шаг 3. Типы ячеек
  8. Шаг 4. Магические команды
  9. Шаг 5. Отображайте внутри блокнота насыщенные результаты
  10. Шаг 6. Google Colab
  11. Используем готовое
  12. Блокноты или скрипты: что и когда использовать
  13. Распространённые ловушки
  14. Готовый результат
  15. Упражнения
  16. Ключевые термины
  17. Дополнительные материалы

Блокноты — лабораторный стол AI-инженера. Здесь вы создаёте прототип, а затем переносите работающий результат в продакшен.

Тип: Практика Языки: Python Предварительные требования: Фаза 0, урок 01 Время: около 30 минут

Цели обучения

  • Установить и запустить JupyterLab, Jupyter Notebook либо VS Code с расширением Jupyter.
  • Использовать магические команды (%timeit, %%time, %matplotlib inline) для измерения производительности и встроенной визуализации.
  • Понимать, когда использовать блокноты, а когда — скрипты, и применять подход «исследуйте в блокнотах, выпускайте в скриптах».
  • Распознавать распространённые ловушки блокнотов и избегать их: выполнение ячеек не по порядку, скрытое состояние и утечки памяти.

Проблема

Блокноты Jupyter используются почти в каждой статье об AI, учебном материале и соревновании Kaggle. Они позволяют выполнять код по частям, сразу видеть результаты, совмещать код с пояснениями и быстро повторять эксперименты. Пытаться изучать AI без блокнотов — всё равно что решать математические задачи без черновика.

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

Концепция

Блокнот — это список ячеек. Каждая ячейка содержит либо код, либо текст.

Диаграмма к уроку «Блокноты Jupyter»

Ядро (kernel) — это процесс Python, работающий в фоновом режиме. Когда вы запускаете ячейку, интерфейс отправляет её код ядру, которое выполняет его и возвращает результат. Все ячейки используют одно ядро, поэтому переменные сохраняются между запусками ячеек.

Диаграмма к уроку «Блокноты Jupyter»

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

Собираем сами

Шаг 1. Выберите интерфейс

Три варианта, один формат:

Интерфейс Установка Лучше всего подходит для
JupyterLab pip install jupyterlab, затем jupyter lab Полноценной IDE с несколькими вкладками, файловым браузером и терминалом
Jupyter Notebook pip install notebook, затем jupyter notebook Простого и лёгкого интерфейса для одного блокнота за раз
VS Code Установите расширение Jupyter Работы прямо в редакторе с интеграцией Git и отладкой

Все три варианта читают и записывают один формат .ipynb. Выберите тот, который вам удобен. JupyterLab наиболее распространён в работе с AI.

pip install jupyterlab
jupyter lab

Шаг 2. Важные сочетания клавиш

Вы работаете в двух режимах. Нажмите Escape, чтобы перейти в командный режим с синей полосой слева, и Enter, чтобы перейти в режим редактирования с зелёной полосой.

Командный режим — используется чаще всего:

Клавиши Действие
Shift+Enter Выполнить ячейку и перейти к следующей
A Вставить ячейку выше
B Вставить ячейку ниже
DD Удалить ячейку
M Преобразовать в Markdown
Y Преобразовать в код
Z Отменить операцию с ячейкой
Ctrl+Shift+H Показать все сочетания клавиш

Режим редактирования:

Клавиши Действие
Tab Автодополнение
Shift+Tab Показать сигнатуру функции
Ctrl+/ Добавить или убрать комментарий

Shift+Enter вы будете использовать тысячу раз в день. Выучите это сочетание первым.

Шаг 3. Типы ячеек

Ячейки кода выполняют Python и показывают результат:

import numpy as np
data = np.random.randn(1000)
data.mean(), data.std()

Результат: (0.0032, 0.9987)

Ячейки Markdown отображают форматированный текст. Используйте их, чтобы документировать, что и зачем вы делаете. Поддерживаются заголовки, полужирный и курсивный текст, математические формулы LaTeX ($E = mc^2$), таблицы и изображения.

Шаг 4. Магические команды

Это не Python, а специальные команды Jupyter. Они начинаются с % для строчной магической команды или с %% для команды, применяемой ко всей ячейке.

Измерьте время работы кода:

%timeit np.random.randn(10000)

Результат: 45.2 us +/- 1.3 us per loop

%%time
model.fit(X_train, y_train, epochs=10)

Результат: Wall time: 2.34 s

%timeit запускает код многократно и усредняет результат. %%time запускает его один раз. Используйте %timeit для микротестов производительности, а %%time — для запусков обучения.

Включите встроенные графики:

%matplotlib inline

Теперь каждый вызов plt.plot() или plt.show() отображает результат прямо в блокноте.

Установите пакеты, не покидая блокнот:

!pip install scikit-learn

Префикс ! запускает любую команду оболочки.

Проверьте переменные окружения:

%env CUDA_VISIBLE_DEVICES

Шаг 5. Отображайте внутри блокнота насыщенные результаты

Блокнот автоматически отображает последнее выражение в ячейке. Но выводом можно управлять:

import pandas as pd

df = pd.DataFrame({
    "model": ["Linear", "Random Forest", "Neural Net"],
    "accuracy": [0.72, 0.89, 0.94],
    "training_time": [0.1, 2.3, 45.6]
})
df

Вместо текстового дампа появится отформатированная HTML-таблица. То же относится к графикам:

import matplotlib.pyplot as plt

plt.figure(figsize=(8, 4))
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.title("Inline Plot")
plt.show()

График появится прямо под ячейкой. Именно поэтому блокноты доминируют в работе с AI: данные, график и код видны вместе.

Для изображений:

from IPython.display import Image, display
display(Image(filename="architecture.png"))

Шаг 6. Google Colab

Colab — облачная среда для блокнотов Jupyter с бесплатным тарифом. Она предоставляет GPU, предустановленные библиотеки и интеграцию с Google Drive. Предварительная настройка не требуется.

  1. Перейдите на colab.research.google.com.
  2. Загрузите любой файл .ipynb из этого курса.
  3. Выберите Runtime → Change runtime type → T4 GPU на бесплатном тарифе.

Отличия Colab от локального Jupyter:

  • Файлы не сохраняются между сеансами: сохраните их на Drive или скачайте.
  • Предустановлены numpy, pandas, matplotlib, torch, tensorflow и sklearn.
  • Для загрузки и скачивания файлов используйте from google.colab import files.
  • Для постоянного хранилища используйте from google.colab import drive; drive.mount('/content/drive').
  • Сеансы бесплатного тарифа завершаются после 90 минут бездействия.

[!note] Примечание переводчика Доступность GPU, набор предустановленных библиотек и ограничения сеансов Colab приведены по состоянию исходной ревизии от 25 июня 2026 года. Актуальные лимиты следует сверять в справке Colab.

Используем готовое

Блокноты или скрипты: что и когда использовать

Используйте блокноты для Используйте скрипты для
Исследования набора данных Конвейеров обучения
Создания прототипа модели Повторно используемых утилит
Визуализации результатов Всего, что использует if __name__
Объяснения своей работы Кода, запускаемого по расписанию
Быстрых экспериментов Продакшен-кода
Упражнений курса Пакетов и библиотек

Правило: исследуйте в блокнотах, выпускайте в скриптах.

Распространённый рабочий процесс в AI:

  1. Исследуйте данные в блокноте.
  2. Создайте прототип модели в блокноте.
  3. Когда всё заработает, перенесите код в файлы .py.
  4. Импортируйте эти файлы .py обратно в блокнот для дальнейших экспериментов.

Распространённые ловушки

Выполнение не по порядку. Вы запускаете ячейку 5, затем ячейку 2, а потом ячейку 7. Блокнот работает на вашем компьютере, но ломается, если кто-либо выполняет его сверху вниз. Решение: перед публикацией выберите Kernel → Restart & Run All.

Скрытое состояние. Вы удалили ячейку, но созданная ею переменная осталась в памяти. Блокнот выглядит чистым, хотя зависит от «призрачной» ячейки. Решение: регулярно перезапускайте ядро.

Утечки памяти. Вы загружаете набор данных объёмом 4 ГБ, обучаете модель, затем загружаете ещё один набор. Ничего не освобождается. Решение: вызовите del variable_name и gc.collect() либо перезапустите ядро.

Готовый результат

Этот урок создаёт:

  • outputs/prompt-notebook-helper.md — промпт для отладки проблем с блокнотами.

Упражнения

  1. Откройте JupyterLab, создайте блокнот и с помощью %timeit сравните генератор списков и NumPy при создании массива из 100 000 случайных чисел.
  2. Создайте блокнот с ячейками Markdown и кода, который загружает CSV, показывает DataFrame и строит график. Затем выберите Kernel → Restart & Run All и убедитесь, что блокнот корректно выполняется сверху вниз.
  3. Скопируйте код из code/notebook_tips.py в блокнот Colab и выполните его на бесплатном GPU.

Ключевые термины

Термин Как обычно говорят Что это означает на самом деле
Ядро (kernel) «То, что выполняет мой код» Отдельный процесс Python, который выполняет ячейки и хранит переменные в памяти
Ячейка (cell) «Блок кода» Независимо выполняемая единица блокнота, содержащая код или Markdown
Магическая команда (magic command) «Трюки Jupyter» Специальная команда с префиксом % или %%, управляющая средой блокнота
.ipynb «Файл блокнота» JSON-файл с ячейками, результатами и метаданными; сокращение от IPython Notebook

Дополнительные материалы


Источник: Jupyter Notebooks — оригинал Навигация: назад: 00.04 — API и ключи · Фаза 0 — Настройка и инструменты · Полный каталог · далее: 00.06 — Окружения Python.