Фаза 00 · урок 05
Блокноты Jupyter
Цель урока: Блокноты Jupyter используются почти в каждой статье об AI, учебном материале и соревновании Kaggle. Они позволяют выполнять код по частям, сразу видеть результаты, совмещать код с пояснениями и быстро повторять эксперименты. Пытаться…
Текущий релиз AlexBred.com: первые 100 уроков русскоязычной программы.
Содержание урока
- Цели обучения
- Проблема
- Концепция
- Собираем сами
- Шаг 1. Выберите интерфейс
- Шаг 2. Важные сочетания клавиш
- Шаг 3. Типы ячеек
- Шаг 4. Магические команды
- Шаг 5. Отображайте внутри блокнота насыщенные результаты
- Шаг 6. Google Colab
- Используем готовое
- Блокноты или скрипты: что и когда использовать
- Распространённые ловушки
- Готовый результат
- Упражнения
- Ключевые термины
- Дополнительные материалы
Блокноты — лабораторный стол AI-инженера. Здесь вы создаёте прототип, а затем переносите работающий результат в продакшен.
Тип: Практика Языки: Python Предварительные требования: Фаза 0, урок 01 Время: около 30 минут
Цели обучения
- Установить и запустить JupyterLab, Jupyter Notebook либо VS Code с расширением Jupyter.
- Использовать магические команды (
%timeit,%%time,%matplotlib inline) для измерения производительности и встроенной визуализации. - Понимать, когда использовать блокноты, а когда — скрипты, и применять подход «исследуйте в блокнотах, выпускайте в скриптах».
- Распознавать распространённые ловушки блокнотов и избегать их: выполнение ячеек не по порядку, скрытое состояние и утечки памяти.
Проблема
Блокноты Jupyter используются почти в каждой статье об AI, учебном материале и соревновании Kaggle. Они позволяют выполнять код по частям, сразу видеть результаты, совмещать код с пояснениями и быстро повторять эксперименты. Пытаться изучать AI без блокнотов — всё равно что решать математические задачи без черновика.
Но у блокнотов есть реальные ловушки. Люди используют их для любых задач, включая те, для которых блокноты подходят очень плохо. Понимание того, когда нужен блокнот, а когда скрипт, позднее избавит вас от кошмарной отладки.
Концепция
Блокнот — это список ячеек. Каждая ячейка содержит либо код, либо текст.
Ядро (kernel) — это процесс Python, работающий в фоновом режиме. Когда вы запускаете ячейку, интерфейс отправляет её код ядру, которое выполняет его и возвращает результат. Все ячейки используют одно ядро, поэтому переменные сохраняются между запусками ячеек.
Возможность запускать ячейки в любом выбранном порядке — одновременно главная сила блокнота и источник опасных ошибок.
Собираем сами
Шаг 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. Предварительная настройка не требуется.
- Перейдите на colab.research.google.com.
- Загрузите любой файл
.ipynbиз этого курса. - Выберите 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:
- Исследуйте данные в блокноте.
- Создайте прототип модели в блокноте.
- Когда всё заработает, перенесите код в файлы
.py. - Импортируйте эти файлы
.pyобратно в блокнот для дальнейших экспериментов.
Распространённые ловушки
Выполнение не по порядку. Вы запускаете ячейку 5, затем ячейку 2, а потом ячейку 7. Блокнот работает на вашем компьютере, но ломается, если кто-либо выполняет его сверху вниз. Решение: перед публикацией выберите Kernel → Restart & Run All.
Скрытое состояние. Вы удалили ячейку, но созданная ею переменная осталась в памяти. Блокнот выглядит чистым, хотя зависит от «призрачной» ячейки. Решение: регулярно перезапускайте ядро.
Утечки памяти. Вы загружаете набор данных объёмом 4 ГБ, обучаете модель, затем загружаете ещё один набор. Ничего не освобождается. Решение: вызовите del variable_name и gc.collect() либо перезапустите ядро.
Готовый результат
Этот урок создаёт:
outputs/prompt-notebook-helper.md— промпт для отладки проблем с блокнотами.
Упражнения
- Откройте JupyterLab, создайте блокнот и с помощью
%timeitсравните генератор списков и NumPy при создании массива из 100 000 случайных чисел. - Создайте блокнот с ячейками Markdown и кода, который загружает CSV, показывает DataFrame и строит график. Затем выберите Kernel → Restart & Run All и убедитесь, что блокнот корректно выполняется сверху вниз.
- Скопируйте код из
code/notebook_tips.pyв блокнот Colab и выполните его на бесплатном GPU.
Ключевые термины
| Термин | Как обычно говорят | Что это означает на самом деле |
|---|---|---|
| Ядро (kernel) | «То, что выполняет мой код» | Отдельный процесс Python, который выполняет ячейки и хранит переменные в памяти |
| Ячейка (cell) | «Блок кода» | Независимо выполняемая единица блокнота, содержащая код или Markdown |
| Магическая команда (magic command) | «Трюки Jupyter» | Специальная команда с префиксом % или %%, управляющая средой блокнота |
.ipynb |
«Файл блокнота» | JSON-файл с ячейками, результатами и метаданными; сокращение от IPython Notebook |
Дополнительные материалы
- Документация JupyterLab — полный набор возможностей.
- Частые вопросы о Google Colab — ограничения и возможности Colab.
- 28 советов по Jupyter Notebook — сочетания клавиш для опытных пользователей.
Источник: Jupyter Notebooks — оригинал Навигация: назад: 00.04 — API и ключи · Фаза 0 — Настройка и инструменты · Полный каталог · далее: 00.06 — Окружения Python.