Введение
В этом руководстве описывается машинное обучение с GitHub Codespaces. Вы создадите простой классификатор изображений, узнаете о некоторых средствах, предустановленных в GitHub Codespaces, настроите среду разработки для NVIDIA CUDA и откроете пространство кода в JupyterLab.
Создание простого классификатора изображений
Мы будем использовать записную книжку Jupyter для создания простого классификатора изображений.
Записные книжки Jupyter — это наборы ячеек, которые можно выполнять друг за другом. Используемая записная книжка содержит ряд ячеек, создающих классификатор изображений с помощью PyTorch. Каждая ячейка представляет собой разные этапы этого процесса: скачивание набора данных, настройка нейронной сети, обучение модели, а затем тестирование этой модели.
Мы запустим все ячейки последовательно для выполнения всех этапов построения классификатора изображений. Когда мы это делаем, Jupyter сохраняет выходные данные обратно в записную книжку, чтобы можно было изучить результаты.
Создание codespace
-
Перейдите в репозиторий шаблонов github/codespaces-jupyter .
-
Щелкните Использовать этот шаблон, а затем щелкните Открыть в codespace.
Пространство кода для этого шаблона откроется в веб-версии Visual Studio Code.
Открытие записной книжки классификатора изображений
Образ контейнера по умолчанию, используемый GitHub Codespaces, включает набор библиотек машинного обучения, предварительно установленных в пространстве кода. Например, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests и Plotly. Дополнительные сведения об образе по умолчанию см. в разделе Основные сведения о контейнерах разработки и репозиторийdevcontainers/images
.
- В редакторе VS Code закройте все отображаемые вкладки "Начало работы".
- Откройте файл записной книжки
notebooks/image-classifier.ipynb
.
Создание классификатора изображений
Записная книжка классификатора изображений содержит весь код, необходимый для скачивания набора данных, обучения нейронной сети и оценки ее производительности.
-
Нажмите кнопку Выполнить все, чтобы выполнить все ячейки записной книжки.
-
Если вам будет предложено выбрать источник ядра, выберите Среды Python, а затем выберите версию Python в рекомендуемом расположении.
-
Прокрутите вниз, чтобы просмотреть выходные данные каждой ячейки.
Настройка NVIDIA CUDA для codespace
Для использования GPU codespace требуется установить NVIDIA CUDA. В этом случае можно создать собственную пользовательскую конфигурацию с помощью файла devcontainer.json
и указать, что необходимо установить CUDA. Дополнительные сведения о создании настраиваемой конфигурации см. в разделе Основные сведения о контейнерах разработки.
Примечание. Полные сведения о скрипте, который выполняется при добавлении компонента nvidia-cuda
, см. в репозитории devcontainers/features.
-
В codespace откройте
.devcontainer/devcontainer.json
файл в редакторе. -
Добавьте объект верхнего уровня
features
со следующим содержимым:JSON "features": { "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } }
Дополнительные сведения об объекте
features
см. в спецификации контейнеров разработки.Если вы используете файл
devcontainer.json
из репозитория классификаторов изображений, созданного для этого руководства, файлdevcontainer.json
будет выглядеть следующим образом:{ "customizations": { "vscode": { "extensions": [ "ms-python.python", "ms-toolsai.jupyter" ] } }, "features": { "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } } }
-
Сохраните изменения.
-
Получите доступ к VS Code Command Palette (shift+Command+P / CTRL+ SHIFTP),+ а затем начните вводить "rebuild". Щелкните Codespaces: Перестроить контейнер.
<div class="extended-markdown tip border rounded-1 mb-4 p-3 color-border-accent-emphasis color-bg-accent f5">
Совет: Иногда может потребоваться выполнить полную перестройку, чтобы очистить кэш и перестроить контейнер со свежими образами. Дополнительные сведения см. в разделе Перестроение контейнера в codespace.
Контейнер codespace будет перестроен. Операция займет несколько минут. После перестройки codespace автоматически открывается повторно. -
Опубликуйте изменения в репозитории, чтобы В будущем CUDA устанавливалось в любых новых пространствах кода, создаваемых из этого репозитория. Дополнительные сведения см. в разделе Создание codespace на основе шаблона.
Открытие codespace в JupyterLab
Вы можете открыть codespace в JupyterLab со страницы "Ваши codespaces" в github.com/codespaces или с помощью GitHub CLI. Дополнительные сведения см. в разделе Открытие существующего codespace.
Приложение JupyterLab должно быть установлено в открываемом пространстве кода. Образ контейнера по умолчанию включает JupyterLab, поэтому в codespace, созданных из образа по умолчанию, всегда будет установлен JupyterLab. Дополнительные сведения об образе по умолчанию см. в разделе Основные сведения о контейнерах разработки и репозиторийdevcontainers/images
. Если вы не используете образ по умолчанию в конфигурации контейнера разработки, можно установить JupyterLab, добавив компонент в ghcr.io/devcontainers/features/python
devcontainer.json
файл. Необходимо включить параметр "installJupyterlab": true
. Дополнительные сведения см. в файле сведений о python
функции в репозитории devcontainers/features
.