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
-
Acesse o repositório de modelos github/codespaces-jupyter.
-
Clique em Usar este modelo e, em seguida, em 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.
- No editor VS Code, feche as guias "Introdução" exibidas.
- 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.
-
Clique em Executar tudo para executar todas as células do notebook.
-
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.
-
Role para baixo para visualizar a saída de cada célula.
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 obter mais informações, 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.
-
Em um codespace, abra o arquivo
.devcontainer/devcontainer.json
no editor. -
Adicione um objeto
features
de nível superior com o seguinte conteúdo:JSON "features": { "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } }
"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 arquivodevcontainer.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 } } }
-
Salve a alteração.
-
Acesse a VS Code Command Palette (Shift+Command+P / Ctrl+Shift+P) e comece a digitar "recompilar". Clique em Codespaces: Recompilar Contêiner.
Dica: 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.
- 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 obter mais informações, confira "Como criar um codespace com base em um modelo".