Skip to main content

Introdução ao GitHub Codespaces para aprendizado de máquina

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.

  2. Clique em Usar este modelo e, em seguida, em Abrir em um codespace.

    Captura de tela do botão "Usar este modelo" e do menu suspenso expandido para mostrar a opção "Abrir em um codespace".

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

Abrir 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. Abrir 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 guia 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 Ambientes do Python e, em seguida, selecione a versão do Python no local recomendado.

    Captura de tela da lista suspensa "Selecionar um Ambiente do Python". A primeira opção na lista de versões do Python tem o rótulo "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.

O aplicativo JupyterLab deve ser instalado no codespace que você está abrindo. A imagem de contêiner de desenvolvimento padrão inclui o JupyterLab, portanto, os codespaces criados com base na imagem padrão sempre terão o JupyterLab instalado. Para obter mais informações sobre a imagem padrão, confira “Introdução aos contêineres de desenvolvimento” e o repositório devcontainers/images. Se você não estiver usando a imagem padrão na configuração do contêiner de desenvolvimento, instale o JupyterLab adicionando o recurso ghcr.io/devcontainers/features/python ao arquivo devcontainer.json. Você deve incluir a opção "installJupyterlab": true. Para obter mais informações, confira o README do recurso python, no repositório devcontainers/features.

Configurar o NVIDIA CUDA para seu codespace

Note

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 o texto "recompilar contêiner" inserido na caixa de texto e a opção "Codespace: recompilar contêiner" realçada na lista suspensa.

    Tip

    Ocasionalmente, convém executar uma recompilação completa para limpar o cache e recompilar o contêiner com imagens novas. Para obter mais informações, confira "Como recompilar o contêiner em um codespace". O contêiner de codespace será recriado. Isso levará alguns minutos. Quando a recriaçã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.