Введение
В этом руководстве описывается машинное обучение с GitHub Codespaces. Вы создадите простой классификатор изображений, узнайте о некоторых средствах, которые предварительно установлены в GitHub Codespaces, и узнайте, как открыть пространство кода в JupyterLab.
Создание простого классификатора изображений
Мы будем использовать записную книжку Jupyter для создания простого классификатора изображений.
Записные книжки Jupyter — это наборы ячеек, которые можно выполнять друг за другом. Используемая записная книжка содержит ряд ячеек, создающих классификатор изображений с помощью PyTorch. Каждая ячейка представляет собой разные этапы этого процесса: скачивание набора данных, настройка нейронной сети, обучение модели, а затем тестирование этой модели.
Мы запустим все ячейки последовательно для выполнения всех этапов построения классификатора изображений. Когда мы это делаем, Jupyter сохраняет выходные данные обратно в записную книжку, чтобы можно было изучить результаты.
Создание codespace
-
Перейдите в репозиторий шаблонов github/codespaces-jupyter .
-
Нажмите кнопку "Использовать этот шаблон", а затем нажмите кнопку "Открыть" в пространстве кода.

Пространство кода для этого шаблона откроется в веб-версии 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 в рекомендуемом месте.

-
Прокрутите вниз, чтобы просмотреть выходные данные каждой ячейки.

Открытие пространства кода в JupyterLab
Вы можете открыть пространство кода в JupyterLab на странице "Ваши пространства кода" в github.com/codespaces или с помощью GitHub CLI. Дополнительные сведения см. в разделе Открытие существующего пространства кода.
Приложение JupyterLab должно быть установлено в открываемом пространстве кода. Образ контейнера разработки по умолчанию включает JupyterLab, поэтому пространства кода, созданные на основе образа по умолчанию, всегда будут установлены JupyterLab. Дополнительные сведения о образе по умолчанию см. в разделе AUTOTITLE и репозиторияdevcontainers/images. Если вы не используете образ по умолчанию в конфигурации контейнера разработки, можно установить JupyterLab, добавив ghcr.io/devcontainers/features/python эту функцию в devcontainer.json файл. Этот параметр "installJupyterlab": trueследует включить. Дополнительные сведения см. в разделе README для python функции в репозитории.devcontainers/features
Настройка NVIDIA CUDA для пространства кода
Примечание.
Этот раздел применяется только к клиентам, которые могут создавать пространства кода на компьютерах, использующих GPU. Возможность выбора типа компьютера, использующего GPU, была предложена выбранным клиентам в течение пробного периода. Этот параметр недоступен.
Для некоторых программ необходимо установить NVIDIA CUDA для использования GPU пространства кода. В этом случае можно создать собственную пользовательскую конфигурацию с помощью файла devcontainer.json и указать, что необходимо установить CUDA. Дополнительные сведения о создании пользовательской конфигурации см. в разделе Основные сведения о контейнерах разработки.
Полные сведения о скрипте, выполняемом при добавлении nvidia-cuda функции, см. в репозитории devcontainers/features .
-
В пространстве кода откройте
.devcontainer/devcontainer.jsonфайл в редакторе. -
Добавьте объект верхнего уровня
featuresсо следующим содержимым:JSON "features": { "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } }"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 SHIFT++P / ), а затем начните вводить "перестроить". Щелкните Codespaces: Перестроить контейнер.

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