Skip to main content

Introdução aos GitHub Codespaces para machine learning

Saiba mais sobre como trabalhar em projetos de aprendizado de máquina com o GitHub Codespaces e as ferramentas prontas para uso dele.

Introdução

Este guia apresenta o aprendizado de máquina com o GitHub Codespaces. Você vai criar um classificador de imagens simples, aprender mais sobre algumas das ferramentas que vêm pré-instaladas no GitHub Codespaces e descobrir como abrir seu codespace no JupyterLab.

Criar um classificador de imagens simples

Usaremos um Jupyter Notebook para criar um classificador de imagens simples.

Os notebooks do Jupyter são conjuntos de células que você pode executar uma após a outra. O notebook que usaremos inclui várias células que criam um classificador de imagens usando o PyTorch. Cada célula é uma fase diferente desse processo: baixe um conjunto de dados, configure uma rede neural, treine um modelo e depois teste esse modelo.

Executaremos todas as células em sequência para realizar todas as fases de criação do classificador de imagens. Quando fazemos isso, o Jupyter salva a saída de volta no notebook para que você possa examinar os resultados.

Criar um codespace

  1. Acesse o repositório de modelos github/codespaces-jupyter.

Por padrão, um codespace para esse modelo será aberto em uma versão baseada na Web do Visual Studio Code.

Abrindo o notebook do classificador de imagens

A imagem de contêiner padrão usada por GitHub Codespaces inclui um conjunto de bibliotecas de aprendizado de máquina que são pré-instaladas em seu codespace. Por exemplo, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests e Plotly. Para saber mais sobre a imagem padrão, confira Introdução aos contêineres de desenvolvimento e o repositório devcontainers/images.

  1. No editor VS Code, feche as guias "Introdução" exibidas.
  2. Abra o arquivo do notebook notebooks/image-classifier.ipynb.

Compilar o classificador de imagens

O notebook do classificador de imagens contém todo o código necessário para baixar um conjunto de dados, treinar uma rede neural e avaliar seu desempenho.

  1. Clique em Executar tudo para executar todas as células do notebook.

    Captura de tela da parte superior da aba do editor do arquivo "image-classifier.ipynb". Um cursor passa sobre um botão rotulado como "Executar Tudo".

  2. Se for solicitado que você escolha uma fonte de kernel, selecione Python Environments e selecione a versão do Python no local recomendado.

    Captura de tela do menu suspenso "Selecionar um ambiente de Python". A primeira opção na lista de versões Python é rotulada como "Recomendado".

  3. Role para baixo para visualizar a saída de cada célula.

    Captura de tela da célula no editor com o cabeçalho "Etapa 3: treinar a rede e salvar o modelo".

Como abrir seu codespace no JupyterLab

Você pode abrir seu codespace no JupyterLab na página "Seus codespaces" em github.com/codespaces ou usando GitHub CLI. Para saber mais, confira Como abrir um codespace existente.

JupyterLab instalado no Codespace

Configurar o NVIDIA CUDA para seu codespace

Observação

Esta seção só se aplica aos clientes que podem criar codespaces em computadores que usam uma GPU. A capacidade de escolher um tipo de computador que usa uma GPU foi oferecida a clientes selecionados durante um período de avaliação. Essa opção não está em disponibilidade geral.

Alguns softwares exigem que você instale o NVIDIA CUDA para usar a GPU do seu codespace. Quando esse for o caso, você pode criar uma configuração personalizada usando um arquivo devcontainer.json e especificar que o CUDA deve ser instalado. Para saber mais sobre como criar uma configuração personalizada, confira Introdução aos contêineres de desenvolvimento.

Para ver todos os detalhes do script que é executado quando você adiciona o recurso nvidia-cuda, confira o repositório devcontainers/features.

  1. Em um codespace, abra o arquivo .devcontainer/devcontainer.json no editor.

  2. Adicione um objeto features de nível superior com o seguinte conteúdo:

    JSON
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    

    Para obter mais informações sobre o objeto features, confira a especificação de contêineres de desenvolvimento.

    Se você estiver usando o arquivo devcontainer.json do repositório do classificador de imagens criado para este tutorial, seu arquivo devcontainer.json agora terá a seguinte aparência:

    {
      "customizations": {
        "vscode": {
          "extensions": [
            "ms-python.python",
            "ms-toolsai.jupyter"
          ]
        }
      },
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    }
    
  3. Salve a alteração.

  4. Acesse a VS Code Command Palette (Shift+Command+P / Ctrl+Shift+P) e comece a digitar "recompilar". Clique em Codespaces: Recompilar Contêiner.

    Captura de tela da Paleta de Comandos com uma pesquisa por "rebuild container" e a opção "Codespace: Rebuild Container" realçada na lista suspensa.

    Dica

    Ocasionalmente, convém executar uma recompilação completa para limpar o cache e recompilar o contêiner com imagens novas. Para saber mais, confira Como reconstruir o contêiner em um codespace. O contêiner de codespace será recriado. Isso levará alguns minutos. Quando a reconstrução for concluída, o codespace será reaberto automaticamente.

  5. Publique sua alteração a um repositório para que o CUDA seja instalado em quaisquer codespaces criados por meio desse repositório no futuro. Para saber mais, confira Como criar um codespace com base em um modelo.