Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

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

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

Введение

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

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

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

    Снимок экрана: раскрывающийся список "Выбор среды Python". Первый параметр в списке версий Python называется "Рекомендуется".

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

    Снимок экрана: ячейка в редакторе с заголовком "Шаг 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: Перестроить контейнер.

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

     <div class="extended-markdown tip border rounded-1 mb-4 p-3 color-border-accent-emphasis color-bg-accent f5">
    

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

    Контейнер codespace будет перестроен. Операция займет несколько минут. После перестройки codespace автоматически открывается повторно.
  5. Опубликуйте изменения в репозитории, чтобы В будущем 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 .