Skip to main content

Начало работы с GitHub Codespaces для машинного обучения

Узнайте о работе над проектами машинного обучения с GitHub Codespaces и встроенными инструментами.

Введение

В этом руководстве описывается машинное обучение с GitHub Codespaces. Вы создадите простой классификатор изображений, узнайте о некоторых средствах, которые предварительно установлены в GitHub Codespaces, и узнайте, как открыть пространство кода в JupyterLab.

Создание простого классификатора изображений

Мы будем использовать записную книжку Jupyter для создания простого классификатора изображений.

Записные книжки Jupyter — это наборы ячеек, которые можно выполнять друг за другом. Используемая записная книжка содержит ряд ячеек, создающих классификатор изображений с помощью PyTorch. Каждая ячейка представляет собой разные этапы этого процесса: скачивание набора данных, настройка нейронной сети, обучение модели, а затем тестирование этой модели.

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

Создание codespace

  1. Перейдите в репозиторий шаблонов github/codespaces-jupyter .

  2. Нажмите кнопку "Использовать этот шаблон", а затем нажмите кнопку "Открыть" в пространстве кода.

    Снимок экрана: кнопка "Использовать этот шаблон" и раскрывающееся меню, развернутое для отображения параметра "Открыть в пространстве кода".

Пространство кода для этого шаблона откроется в веб-версии Visual Studio Code.

Открытие записной книжки классификатора изображений

Образ контейнера по умолчанию, используемый GitHub Codespaces, включает набор библиотек машинного обучения, предварительно установленных в пространстве кода. Например, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests и Plotly. Дополнительные сведения о образе по умолчанию см. в разделе Основные сведения о контейнерах разработки и репозиторий devcontainers/images .

  1. В редакторе VS Code закройте все отображаемые вкладки "Начало работы".
  2. Откройте файл записной книжки notebooks/image-classifier.ipynb.

Создание классификатора изображений

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

  1. Нажмите кнопку Выполнить все, чтобы выполнить все ячейки записной книжки.

    Снимок экрана: верхняя часть вкладки редактора для файла image-classifier.ipynb. Курсор наведите указатель мыши на кнопку с меткой "Выполнить все".

  2. Если вам предлагают выбрать исходный код ядра, выберите Python Окружения, затем выберите версию Python в рекомендуемом месте.

    Скриншот выпадающего меню «Выбрать среду Python». Первый вариант в списке версий Python помечен как «Рекомендуемо».

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

    Снимок экрана: ячейка в редакторе с заголовком "Шаг 3. Обучение сети и сохранение модели".

Открытие пространства кода в 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 .

  1. В пространстве кода откройте .devcontainer/devcontainer.json файл в редакторе.

  2. Добавьте объект верхнего уровня 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
        }
      }
    }
    
  3. Сохраните изменения.

  4. Перейдите к VS Code Command Palette (shift+Command+P CTRL SHIFT++P / ), а затем начните вводить "перестроить". Щелкните Codespaces: Перестроить контейнер.

    Снимок экрана: палитра команд с поиском "перестроить контейнер" и параметром "Codespace: Перестроить контейнер" в раскрывающемся списке.

    Совет

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

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