Skip to main content

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

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

Введение

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

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

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

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

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

Создание codespace

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

  2. Щелкните Использовать этот шаблон, а затем щелкните Открыть в codespace.

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

Codespace для этого шаблона откроется в веб-версии 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. Нажмите кнопку Выполнить все, чтобы выполнить все ячейки записной книжки.

    Снимок экрана: кнопка "Выполнить все"

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

    Снимок экрана: шаг 3 в редакторе

Настройка NVIDIA CUDA для codespace

Для использования GPU codespace требуется установить NVIDIA CUDA. В этом случае можно создать собственную пользовательскую конфигурацию с помощью файла devcontainer.json и указать, что необходимо установить CUDA. Дополнительные сведения о пользовательских конфигурациях см. в разделе Общие сведения о контейнерах разработки.

Примечание. Полные сведения о скрипте, который выполняется при добавлении компонента nvidia-cuda, см. в репозитории devcontainers/features.

  1. В codespace откройте .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+ SHIFTP),+ а затем начните вводить "rebuild". Щелкните Codespaces: Перестроить контейнер.

    Снимок экрана: команда "Перестроить контейнер" в элементе Command Pallette

    Совет: Иногда может потребоваться выполнить полную перестройку, чтобы очистить кэш и перестроить контейнер со свежими образами. Дополнительные сведения см. в разделе Выполнение полного перестроения контейнера.

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

Открытие codespace в JupyterLab

Вы можете открыть codespace в JupyterLab со страницы "Ваши codespaces" в github.com/codespaces или с помощью GitHub CLI. Дополнительные сведения см. в разделе Открытие существующего пространства кода.

Приложение JupyterLab должно быть установлено в открываемом пространстве кода. Образ контейнера по умолчанию включает JupyterLab, поэтому в codespace, созданных из образа по умолчанию, всегда будет установлен JupyterLab. Дополнительные сведения об образе по умолчанию см. в разделе Общие сведения о контейнерах разработкии Репозиторий devcontainers/images. Если вы не используете образ по умолчанию в конфигурации контейнера разработки, можно установить JupyterLab, добавив компонент в ghcr.io/devcontainers/features/python devcontainer.json файл. Необходимо включить параметр "installJupyterlab": true. Дополнительные сведения см. в файле сведений о python функции в репозитории devcontainers/features .